TinyWeb — веб-сервер (HTTP, HTTPS), написанный на Delphi для Win32. Версии до версии 2.02 имеют уязвимость типа «отказ в обслуживании» (DoS), связанную с нехваткой памяти. Удаленные злоумышленники, не прошедшие проверку подлинности, могут отправить на сервер запрос HTTP POST с исключительно большим заголовком Content-Length (например, 2147483647).
Сервер постоянно выделяет память для тела запроса («EntityBody») во время потоковой передачи полезных данных без установления максимального ограничения, что приводит к потреблению всей доступной памяти и сбою сервера. Это затронет любого хостера, использующего TinyWeb. Версия 2.02 исправляет проблему.
Патч вводит ограничение CMaxEntityBodySize (установленное на 10 МБ) для максимального размера принимаемых полезных данных. В качестве временного решения, если немедленное обновление невозможно, рассмотрите возможность размещения сервера за брандмауэром веб-приложений (WAF) или обратным прокси-сервером (например, nginx или Cloudflare), настроенным для явного ограничения максимально допустимого размера тела HTTP-запроса (например, `client_max_body_size` в nginx).
Показать оригинальное описание (EN)
TinyWeb is a web server (HTTP, HTTPS) written in Delphi for Win32. Versions prior to version 2.02 have a Denial of Service (DoS) vulnerability via memory exhaustion. Unauthenticated remote attackers can send an HTTP POST request to the server with an exceptionally large `Content-Length` header (e.g., `2147483647`). The server continuously allocates memory for the request body (`EntityBody`) while streaming the payload without enforcing any maximum limit, leading to all available memory being consumed and causing the server to crash. Anyone hosting services using TinyWeb is impacted. Version 2.02 fixes the issue. The patch introduces a `CMaxEntityBodySize` limit (set to 10MB) for the maximum size of accepted payloads. As a temporary workaround if upgrading is not immediately possible, consider placing the server behind a Web Application Firewall (WAF) or reverse proxy (like nginx or Cloudflare) configured to explicitly limit the maximum allowed HTTP request body size (e.g., `client_max_body_size` in nginx).
Характеристики атаки
Последствия
Строка CVSS v4.0