Уязвимость непоследовательной интерпретации HTTP-запросов («Контрабанда HTTP-запросов») в Erlang OTP (модуль inets httpd) позволяет осуществлять контрабанду HTTP-запросов. Эта уязвимость связана с программными файлами lib/inets/src/http_server/httpd_request.erl и программными процедурами httpd_request:parse_headers/7. Сервер не отклоняет и не нормализует повторяющиеся заголовки Content-Length.
Самое раннее значение Content-Length в запросе используется для анализа тела, в то время как обычные обратные прокси (nginx, Apache httpd, Envoy) учитывают последнее значение Content-Length. Это нарушает раздел 6.3 RFC 9112 и допускает десинхронизацию внешнего и внутреннего интерфейса, в результате чего байты, контролируемые злоумышленником, остаются в очереди в качестве начала следующего запроса. Эта проблема затрагивает OTP от OTP 17.0 до OTP 28.4.1, OTP 27.3.4.9 и OTP 26.2.5.18, что соответствует inets от 5.10 до 9.6.1, 9.3.2.3 и 9.1.0.5.
Показать оригинальное описание (EN)
Inconsistent Interpretation of HTTP Requests ('HTTP Request Smuggling') vulnerability in Erlang OTP (inets httpd module) allows HTTP Request Smuggling. This vulnerability is associated with program files lib/inets/src/http_server/httpd_request.erl and program routines httpd_request:parse_headers/7. The server does not reject or normalize duplicate Content-Length headers. The earliest Content-Length in the request is used for body parsing while common reverse proxies (nginx, Apache httpd, Envoy) honor the last Content-Length value. This violates RFC 9112 Section 6.3 and allows front-end/back-end desynchronization, leaving attacker-controlled bytes queued as the start of the next request. This issue affects OTP from OTP 17.0 until OTP 28.4.1, OTP 27.3.4.9 and OTP 26.2.5.18, corresponding to inets from 5.10 until 9.6.1, 9.3.2.3 and 9.1.0.5.
Характеристики атаки
Последствия
Строка CVSS v4.0