Ad

CVE-2026-54135

HIGH CVSS 3.1: 7,5 EPSS 0.55%
Обновлено 11 сентября 2026
Apple
Параметр Значение
CVSS 7,5 (HIGH)
Уязвимые версии до 0.4.12
Тип уязвимости CWE-400 (Неконтролируемое потребление ресурсов), CWE-770 (Выделение ресурсов без ограничений)
Поставщик Apple
Публичный эксплойт Нет

AirSane — это интерфейс SANE и сервер сканирования, поддерживающий протокол Apple AirScan. Версии до 0.4.12 имеют уязвимость в реализации пользовательского HTTP-сервера AirSane, которая позволяет удаленному неаутентифицированному злоумышленнику вызвать отказ в обслуживании (DoS) через нехватку памяти (OOM). В httpserver.cpp функция HttpServer::Request::content считывает заголовок Content-Length и напрямую передает это значение в std::string::resize() без какой-либо проверки верхней границы или безопасного анализа.

Злоумышленник может отправить запрос HTTP POST с искусственно большим значением Content-Length. Это вынуждает демон попытаться выделить гигабайты памяти, что приводит к исключению std::bad_alloc и немедленному сбою процесса AirSane. Кроме того, предоставление нечисловых символов в заголовке Content-Length приводит к неопределенному поведению (преобразование NaN в целое число) из-за отсутствия обработки ошибок во время анализа заголовка.

Версия 0.4.12 исправляет проблему.

Показать оригинальное описание (EN)

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.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Нет
Нет утечки данных
Целостность
Нет
Нет модификации данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1