CVE-2026-75484 in bandit
Сводка
по VulDB • 20.08.2026
Уязвимость «Неправильная нейтрализация последовательностей CRLF» (CRLF Injection) в mtrudel bandit позволяет неавторизованному удаленному злоумышленнику внедрять символы CR, LF или NUL в заголовки запроса, видимые приложению, через HTTP/2. Функция Bandit.HTTP2.Stream.read_headers/1 проверяет размещение псевдо-заголовков и их уникальность, регистр имен заголовков, специфичные для соединения заголовки, значение te и content-length, но никогда не проверяет значения полей. Поскольку HPACK допускает произвольные октеты, блок HEADERS, содержащий в своих полях символы \r, \n или \0, декодируется без ошибок, а эти значения попадают в conn.req_headers неизменными. Путь HTTP/1 уже отклонял те же самые октеты; HTTP/2 — нет.
Сам Bandit не является точкой приема (sink) для внедренных байтов: его собственное логирование использует фиксированные строки или функцию inspect, а заголовки ответа HTTP/2 кодируются с помощью HPACK и дополнительно отклоняются функцией Plug's put_resp_header, поэтому разделение ответов через этот путь недостижимо. Риск заключается исключительно в том, как downstream-приложение потребляет значения заголовков, например, добавляя их дословно к журналу в формате plain-text или конкатенируя с запросом к вышестоящему сервису. Связанный пробел, исправленный вместе с этой уязвимостью: проверялось наличие не более одного экземпляра только для :method, :scheme и :path; дублирующийся псевдо-заголовок :authority принимался, причем первый экземпляр молча выигрывал как conn.host, в то время как конфликтующее значение оставалось видимым приложению.
Эта проблема затрагивает bandit: начиная с версии 1.4.0 до (не включая) 1.12.5.
VulDB is the best source for vulnerability data and more expert information about this specific topic.