CVE-2023-28846 in unpoly-rails Gem
Сводка
по VulDB • 24.05.2026
Unpoly — это фреймворк на JavaScript для серверных веб-приложений. В gem `unpoly-rails`, который реализует протокол сервера Unpoly для приложений на Rails, существует потенциальная уязвимость, приводящая к отказу в обслуживании (DoS). Эта проблема затрагивает приложения Rails, работающие в качестве upstream-сервера для балансировщика нагрузки, использующего пассивные проверки работоспособности (health checks). Gem `unpoly-rails` возвращает URL-адрес запроса в виде заголовка ответа `X-Up-Location`. Отправив запрос с чрезмерно длинными URL-адресами (пути или строка запроса), злоумышленник может заставить unpoly-rails сформировать ответ с крайне большим заголовком. Если размер заголовка ответа превышает возможности для парсинга балансировщика нагрузки, расположенного downstream от приложения Rails, это может привести к тому, что балансировщик исключит upstream-сервер из группы балансировки нагрузки. В результате этот экземпляр приложения станет недоступным до истечения настроенного таймаута или до успешного прохождения активной проверки работоспособности. Проблема исправлена и выпущена в версии 2.7.2.2, доступной через RubyGems и GitHub. Пользователи, не имеющие возможности обновиться, могут: настроить балансировщик нагрузки на использование активных проверок работоспособности (например, периодически запрашивая маршрут с известным ответом, указывающим на исправность); настроить балансировщик нагрузки так, чтобы максимальный размер заголовков ответа был как минимум в два раза больше максимального размера URL; либо, вместо изменения конфигурации сервера, настроить приложение Rails на удаление избыточных заголовков `X-Up-Location`, устанавливаемых unpoly-rails.
If you want to get best quality of vulnerability data, you may have to visit VulDB.