V
Сканер-ВС
ГлавнаяКаталогИсточникиCWECAPECATT&CKМеры защитыПродуктыВендорыДокументация
← Вернуться к списку
Группа Астра (РусБИТех)Дистрибутивastra

Ruby-rack

Уязвимости
22
Эксплуатируемые
0
Макс. CVSS
10
Макс. EPSS
0.35376

Распределение по критичности

Критический
1
Высокий
13
Средний
8
Низкий
0
Также сопоставлено как (исходные строки): ruby-rack

Топ уязвимостей

CVE-2022-30123Уязвимость внедрения последовательности существует в Rack <2.0.9.1, <2.1.4.1 и <2.2.3.1, которая может позволить осуществить shell escape в компонентах Lint и CommonLogger Rack.
CVE-2025-61919Rack - это модульный интерфейс веб-сервера Ruby. До версий 2.2.20, 3.1.18 и 3.2.3 `Rrack::Запрос #POСТ` читает весь орган запроса в память для `Content-Type: application/x-www-form-urlencoded`, вызывая `rack.input.read(nil)` без принуждения к длине или крышке. Таким образом, большие тела запроса могут быть полностью защищрены в память процесса перед разбором, что приводит к отказу в обслуживании (DoS) через истощение памяти. Пользователи должны обновиться до версии 2.2.20, 3.1.18 или 3.2.3, ану из которых обеспечивает соблюдение ограничений параметров формы с использованием `query_parser.bytesize_limit`, предотвращая безграничные считывания `application/x-www-form-urlencoded` тела. Кроме того, обеспечить строгий максимальный размер тела на уровне прокси или веб-сервера (например, Nginx `client_max_body_size`, Apache `LimitRequestBody`).
CVE-2025-61772Rack - это модульный интерфейс веб-сервера Ruby. В версиях до 2.2.19, 3.1.17 и 3.2.2 `Rack::Multipart::Parser может накапливать несвязанные данные, когда блок заголовка многочастей никогда не заканчивается требуемой пустой линией (CRLFCRLF`). Парсер продолжает привносить входящие байты в память без ограничения размера, что позволяет удаленному злоумышленнику исчерпать память и вызвать отказ в обслуживании (DoS). Злоумышленники могут отправлять неполные многочастные заголовки, чтобы вызвать высокое использование памяти, что приводит к прекращению процесса (OOM) или серьезному замедлению. Эффект масштабы с ограничениями размера запроса и паритетом. Все приложения, обрабатывающие многочастные загрузки, могут быть затронуты. Версии 2.2.19, 3.1.17 и 3.2.2 размер штепель на заголовок (например, 64 KiB). В качестве обходного действия ограничьте максимальные размеры запроса на уровне прокси или веб-сервера (например, Nginx `client_max_body_size`).
CVE-2025-61771Rack - это модульный интерфейс веб-сервера Ruby. В версиях до 2.2.19, 3.1.17 и 3.2.2, `Rack::Multipart::Parser` хранит поля non-File form (части без имени файла) полностью в памяти как Ruby `String` объекты. Одно большое текстовое поле в запросе на многочастные/формальные данные (сотни мегабайт или более) может потреблять эквивалентную память процесса, что потенциально может привести к условиям вне памяти (OOM) и отказу в обслуживании (DoS). Злоумышленники могут отправлять большие нефайловые поля, чтобы вызвать чрезмерное использование памяти. Ударные весы с размером запроса и параллельностью, что может привести к сбоям рабочих или тяжелым накладным сбором мусора. Затрагиваются все заявки на обработку многочастных форм. Версии 2.2.19, 3.1.17 и 3.2.2 обеспечивают соблюдение допустимого ограничения размера для нефайловых полей (например, 2 МиБ). Пространства включают ограничение максимального размера тела запроса на веб-сервере или прокси-слое (например, Nginx `client_max_body_size`) и проверку и отклонение необычно больших полей формы на уровне приложения.
CVE-2025-61770Rack - это модульный интерфейс веб-сервера Ruby. В версиях до 2.2.19, 3.1.17 и 3.2.2, `Rack::Multipart::Parser` буферизует всю многокомпонентную преамбулу (байты перед первой границей) в памяти без какого-либо ограничения по размеру. Клиент может отправить большую преамбулу с последующей действительной границей, вызывая значительное использование памяти и потенциальное прекращение процесса из-за условий вне памяти (OOM). Удаленные злоумышленники могут вызвать большие временные всплески памяти, включив длинную преамбулу в запросы multipart/form-data. Весы ударов с разрешенными размерами запросов и конкуличенностью, что может привести к сбоям рабочих или сильному замедлению из-за сбора мусора. Версии 2.2.19, 3.1.17 и 3.2.2 обеспечивают соблюдение предельного размера преамбулы (например, 16 KiB) или полностью отбрасывание данных преамбулы. Процедуры включают ограничение общего размера тела запроса на уровне прокси или веб-сервера и мониторинг памяти и устанавливают ограничения по процессу для предотвращения условий OOM.
CVE-2025-59830Rack - модульный интерфейс веб-сервера Ruby. До версии 2.2.18 Rack::QueryParser обеспечивает ограничение params_limit только для параметров, разделенных символом &, при этом разбивая как на &, так и ;. В результате злоумышленники могли использовать разделители ;, чтобы обойти ограничение количества параметров и отправить больше параметров, чем предполагалось. Приложения или middleware, напрямую вызывающие Rack::QueryParser с конфигурацией по умолчанию (без явного разделителя), могли быть подвержены повышенному потреблению CPU и памяти. Это можно использовать как ограниченный вектор отказа в обслуживании. Проблема была исправлена в версии 2.2.18 [1]. Источники: - [1] https://github.com/rack/rack/security/advisories/GHSA-625h-95r8-8xpm - [2] https://github.com/rack/rack/commit/54e4ffdd5affebcb0c015cc6ae74635c0831ed71
CVE-2025-46727Rack - это модульный интерфейс веб-сервера Ruby. До версий 2.2.14, 3.0.16 и 3.1.14 `Rack::QueryParser` разбирает строки запросов и тела типа `application/x-www-form-urlencoded` в структуры данных Ruby без ограничения на количество параметров, что позволяет злоумышленникам отправлять запросы с чрезвычайно большим количеством параметров. Уязвимость возникает из-за того, что `Rack::QueryParser` итерирует каждую пару ключ-значение, разделенную `&`, и добавляет ее в хэш без ограничения на общее количество параметров. Это позволяет злоумышленнику отправить один запрос, содержащий сотни тысяч (или более) параметров, что потребляет чрезмерное количество памяти и ресурсов CPU во время разбора. Злоумышленник может вызвать отказ в обслуживании, отправив специально сформированные HTTP-запросы, что может привести к исчерпанию памяти или загрузке ресурсов CPU, что приведет к зависанию или краху сервера Rack. Это приводит к полному нарушению обслуживания до перезапуска пораженного рабочего процесса. Версии 2.2.14, 3.0.16 и 3.1.14 исправляют проблему. Некоторые другие меры по смягчению последствий доступны. Можно использовать промежуточное ПО для обеспечения максимального размера строки запроса или количества параметров, или использовать обратный прокси (например, Nginx) для ограничения размеров запросов и отклонения слишком больших строк запросов или тел. Ограничение размеров тела запроса и длины строки запроса на уровне веб-сервера или CDN является эффективной мерой по смягчению последствий [1]. Источники: - [1] https://github.com/rack/rack/security/advisories/GHSA-gjh7-p2fx-99vx - [2] https://github.com/rack/rack/commit/2bb5263b464b65ba4b648996a579dbd180d2b712 - [3] https://github.com/rack/rack/commit/3f5a4249118d09d199fe480466c8c6717e43b6e3 - [4] https://github.com/rack/rack/commit/cd6b70a1f2a1016b73dc906f924869f4902c2d74
CVE-2025-27610Rack предоставляет интерфейс для разработки веб-приложений на Ruby. До версий 2.2.13, 3.0.14 и 3.1.12, `Rack::Static` может обслуживать файлы под указанным `root:`, даже если `urls:` предоставлены, что может неожиданно открыть доступ к другим файлам под указанным `root:`. Уязвимость возникает из-за того, что `Rack::Static` не правильно очищает пути, предоставленные пользователем, прежде чем обслуживать файлы. В частности, закодированные последовательности обхода пути не проверяются должным образом, что позволяет атакующим получить доступ к файлам за пределами назначенной директории статических файлов. Эксплуатируя эту уязвимость, атакующий может получить доступ ко всем файлам под указанной директорией `root:`, при условии, что он сможет определить путь к файлу. Версии 2.2.13, 3.0.14 и 3.1.12 содержат исправление этой проблемы. Другими мерами смягчения являются удаление использования `Rack::Static` или обеспечение того, чтобы `root:` указывало на директорию, которая содержит только файлы, которые должны быть доступны публично. Скорее всего, CDN или подобный сервер статических файлов также помогут уменьшить эту проблему.
CVE-2023-27530Существует уязвимость DoS в Rack <v3.0.4.2, <v2.2.6.3, <v2.1.4.3 и <v2.0.9.3 в коде анализа Multipart MIME, в которой злоумышленник может создавать запросы, которые могут быть использованы для того, чтобы анализ multipart занимал больше времени, чем ожидалось.
CVE-2022-44572Уязвимость отказа в обслуживании в компоненте многокомпонентного анализа Rack, исправленная в версиях 2.0.9.2, 2.1.4.2, 2.2.4.1 и 3.0.0.1, может позволить злоумышленнику создать входные данные, которые могут привести к тому, что анализ многокомпонентной границы RFC2183 в Rack займет неожиданно много времени, что может привести к вектору атаки типа «отказ в обслуживании». Это влияет на любые приложения, которые анализируют многокомпонентные сообщения с помощью Rack (практически все приложения Rails).
CVE-2022-44571Существует уязвимость отказа в обслуживании в компоненте анализа Content-Disposition в Rack, исправленная в версиях 2.0.9.2, 2.1.4.2, 2.2.4.1, 3.0.0.1. Это может позволить злоумышленнику создать входные данные, которые могут привести к тому, что анализ заголовка Content-Disposition в Rack займет неожиданно много времени, что может привести к вектору атаки типа «отказ в обслуживании». Этот заголовок обычно используется при многокомпонентном анализе. Это влияет на любые приложения, которые анализируют многокомпонентные сообщения с помощью Rack (практически все приложения Rails).
CVE-2022-44570Уязвимость отказа в обслуживании в компоненте анализа заголовка Range в Rack >= 1.5.0. Тщательно разработанный ввод может привести к тому, что компонент анализа заголовка Range в Rack займет неожиданно много времени, что может привести к вектору атаки типа «отказ в обслуживании». Это может повлиять на любые приложения, работающие с запросами Range (такие как потоковые приложения или приложения, обслуживающие файлы).
CVE-2022-30122Возможна уязвимость типа «отказ в обслуживании» в Rack <2.0.9.1, <2.1.4.1 и <2.2.3.1 в компоненте анализа multipart Rack.
CVE-2020-8184Уязвимость безопасности, связанная с использованием файлов cookie без проверки/контроля целостности, существует в rack < 2.2.3, rack < 2.1.4, что позволяет злоумышленнику подделать безопасный или только для хоста префикс cookie.
CVE-2025-27111Rack - это модульный интерфейс веб-сервера Ruby. Промежуточное ПО Rack::Sendfile записывает несоответствующие значения заголовков из заголовка X-Sendfile-Type. Злоумышленник может воспользоваться этим, внедряя управляющие последовательности (например, символы новой строки) в заголовок, что приводит к инъекции в журнал. Эта уязвимость исправлена в версиях 2.2.12, 3.0.13 и 3.1.11.
CVE-2018-16471Существует возможная уязвимость XSS в Rack до версий 2.0.6 и 1.6.11. Тщательно разработанные запросы могут повлиять на данные, возвращаемые методом `scheme` в `Rack::Request`. Приложения, которые ожидают, что схема будет ограничена 'http' или 'https' и не экранируют возвращаемое значение, могут быть уязвимы для XSS-атаки. Обратите внимание, что приложения, использующие обычные механизмы экранирования, предоставляемые Rails, могут не пострадать, но приложения, которые обходят механизмы экранирования или не используют их, могут быть уязвимы.
CVE-2020-8161В rack < 2.2.0 существует уязвимость обхода каталогов, которая позволяет злоумышленнику выполнять обход каталогов в приложении Rack::Directory, которое входит в комплект Rack, что может привести к раскрытию информации.
CVE-2025-25184Rack предоставляет интерфейс для разработки веб-приложений на Ruby. До версий 2.2.11, 3.0.12 и 3.1.10, Rack::CommonLogger может быть подвергнут эксплуатации путем создания ввода, содержащего символы новой строки, для манипуляции записями журналов. Предоставленное доказательство концепции демонстрирует инъекцию вредоносного содержимого в журналы. Когда пользователь предоставляет учетные данные авторизации через Rack::Auth::Basic, при успешном входе имя пользователя будет помещено в env['REMOTE_USER'] и позже будет использоваться Rack::CommonLogger для целей логирования. Проблема возникает, когда сервер намеренно или непреднамеренно позволяет создание пользователя с именем, содержащим символы CRLF и пробелы, или сервер просто хочет записать все попытки входа. Если злоумышленник вводит имя пользователя с символом CRLF, регистратор запишет вредоносное имя пользователя с символами CRLF в файл журнала. Злоумышленники могут нарушить форматы журналов или вставить поддельные записи, потенциально скрывая реальную активность или инъектируя вредоносные данные в журналы. Версии 2.2.11, 3.0.12 и 3.1.10 содержат исправление.
CVE-2024-26146Rack является модульным интерфейсом веб-сервера Ruby. Тщательно составленные заголовки могут привести к тому, что разбор заголовков в Rack займет больше времени, чем ожидалось, что приведет к возможной проблеме отказа в обслуживании. Затронуты заголовки Accept и Forwarded. Ruby 3.2 имеет меры по смягчению этой проблемы, поэтому приложения Rack, использующие Ruby 3.2 или новее, не затронуты. Эта уязвимость исправлена в версиях 2.0.9.4, 2.1.4.4, 2.2.8.1 и 3.0.9.1.
CVE-2024-26141Rack — это модульный интерфейс веб-сервера Ruby. Осторожно созданные заголовки диапазонов могут привести к тому, что сервер ответит неожиданно большим ответом. Ответ с такими большими ответами может привести к проблеме отказа в обслуживании. Уязвимые приложения будут использовать промежуточное ПО `Rack::File` или методы `Rack::Utils.byte_ranges` (это включает приложения Rails). Уязвимость исправлена в версиях 3.0.9.1 и 2.2.8.1.
CVE-2024-25126Rack — это модульный интерфейс веб-сервера Ruby. Осторожно созданные заголовки типа содержимого могут заставить медиапарсер Rack работать гораздо медленнее, чем ожидалось, что может привести к возможной уязвимости отказа в обслуживании (ReDos второй степени). Эта уязвимость исправлена в версиях 3.0.9.1 и 2.2.8.1.
CVE-2023-27539Существует уязвимость отказа в обслуживании в компоненте анализа заголовков Rack.
Перейти к вендору →Открыть в каталоге с фильтром по продукту →