Katalog CVE

CVE-2026-54135

WysokieCVSS 7.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Podwyższone ryzyko
0.76%

Percentyl 54 - wyżej niż 54% wszystkich znanych CVE

Streszczenie

AirSane w wersjach przed 0.4.12 ma podatność w implementacji serwera HTTP, która pozwala zdalnemu, nieuwierzytelnionemu atakującemu wywołać odmowę usługi (DoS) poprzez wyczerpanie pamięci. Funkcja HttpServer::Request::content odczytuje nagłówek Content-Length i przekazuje jego wartość bezpośrednio do std::string::resize() bez walidacji górnej granicy, co przy dużych wartościach powoduje próbę alokacji gigabajtów pamięci i awarię procesu. Dodatkowo podanie znaków nienumerycznych w nagłówku prowadzi do niezdefiniowanego zachowania.

Ocena ryzyka

Atakujący może zdalnie i bez uwierzytelnienia doprowadzić do awarii usługi AirSane, uniemożliwiając korzystanie ze skanera. Powtarzalne ataki mogą trwale zakłócić dostępność usługi.

Rekomendacja

Zaktualizuj AirSane do wersji 0.4.12 lub nowszej. Do czasu aktualizacji rozważ ograniczenie dostępu do usługi poprzez zaporę sieciową lub uwierzytelnianie na poziomie proxy.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS