CVE-2026-54135
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Summary
AirSane is a SANE frontend, and a scanner server that supports Apple's AirScan protocol. Versions prior to 0.4.12 have a vulnerability in the custom HTTP server implementation of AirSane that allows a remote unauthenticated attacker to cause a Denial of Service (DoS) via memory exhaustion (OOM). In httpserver.cpp, the HttpServer::Request::content function reads the Content-Length header and directly passes this value to std::string::resize() without any upper-bound validation or safe parsing. An attacker can send an HTTP POST request with an artificially large Content-Length value. This forces the daemon to attempt allocating gigabytes of memory, resulting in a std::bad_alloc exception and immediately crashing the AirSane process. Additionally, providing non-numeric characters in the Content-Length header leads to undefined behavior (NaN to integer conversion) due to the lack of error handling during header parsing. Version 0.4.12 patches the issue.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| SimulPiscator | AirSane | < 0.4.12 | affected |
Weaknesses
- CWE-400: CWE-400: Uncontrolled Resource Consumption
- CWE-770: CWE-770: Allocation of Resources Without Limits or Throttling
References
- https://github.com/SimulPiscator/AirSane/security/advisories/GHSA-p5hv-3m79-452q
- https://github.com/SimulPiscator/AirSane/commit/129cc3bf7258251a0a694dee7741285b59d88f9f
- https://github.com/SimulPiscator/AirSane/releases/tag/v0.4.12
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.