Rack - это модульный интерфейс веб-сервера Ruby. До версий 2.2.23, 3.1.21 и 3.2.6 Rack::Files#fail устанавливает заголовок ответа Доли Конт…
Rack - это модульный интерфейс веб-сервера Ruby. До версий 2.2.23, 3.1.21 и 3.2.6 Rack::Files#fail устанавливает заголовок ответа Доли Контента, используя String#size вместо String#bytesize. Когда орган ответа содержит многобайтные символы UTF-8, заявленная Длина Содержимого меньше, чем количество байтов, фактически отправленных на проводе. Поскольку Rack::Файлы отражают запрошенный путь в ответах 404, злоумышленник может вызвать это несоответствие, запросив несуществующий путь, содержащий закодированные в процентном отношении символы UTF-8. Это приводит к неправильному обрамлением HTTP-ответа и может вызвать десинхронизацию отклика в развертываниях, которые полагаются на неправильное значение Content-Length. Эта проблема была исправлена в версиях 2.2.23, 3.1.21, и 3.2.6.
Продукт разбирает форматированное сообщение или структуру, однако не обрабатывает или некорректно обрабатывает поле длины, не соответствующее фактической длине связанных данных.
https://cwe.mitre.org/data/definitions/130.html →Открыть в коллекции CWE →В данной атаке целевому программному обеспечению передаются входные данные, которые злоумышленник заранее знает будут изменены и увеличены в размере в процессе обработки. Атака основана на том, что целевое программное обеспечение не предусматривает возможность превышения расширенными данными некоторого внутреннего предела, что приводит к переполнению буфера.
https://capec.mitre.org/data/definitions/47.html →Открыть в коллекции CAPEC →| Продукт | Вендор | Статус |
|---|---|---|
| Отслеживается | ||
| ruby-rack | Отслеживается | |
| rack | * | Отслеживается |