Rack предоставляет интерфейс для разработки веб-приложений на Ruby. До версий 2.2.13, 3.0.14 и 3.1.12, `Rack::Static` может обслуживать фай…
Rack предоставляет интерфейс для разработки веб-приложений на 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 или подобный сервер статических файлов также помогут уменьшить эту проблему.
Продукт использует внешние входные данные для формирования пути, который должен находиться в пределах ограниченного каталога, однако не нейтрализует должным образом последовательности типа «..», которые могут разрешаться в расположение за пределами этого каталога.
https://cwe.mitre.org/data/definitions/23.html →Открыть в коллекции CWE →Злоумышленник манипулирует входными данными, которые целевое программное обеспечение передаёт в вызовы файловой системы операционной системы. Цель — получить доступ и, возможно, модифицировать области файловой системы, к которым целевое программное обеспечение не должно было предоставлять доступ.
https://capec.mitre.org/data/definitions/76.html →Открыть в коллекции CAPEC →Злоумышленник эксплуатирует слабость в проверке входных данных цели, предоставляя специально сформированный путь с использованием точек и слешей для получения доступа к произвольным файлам или ресурсам. Злоумышленник изменяет известный путь в цели для доступа к материалам, недоступным через штатные каналы. Как правило, данные атаки предполагают добавление дополнительных разделителей пути (/ или \) и/или точек (.), либо их кодирований, в различных комбинациях для перехода в родительские каталоги или совершенно иные ветви структуры каталогов цели.
https://capec.mitre.org/data/definitions/139.html →Открыть в коллекции CAPEC →| Продукт | Вендор | Статус |
|---|---|---|
| Отслеживается | ||
| ruby-rack | Отслеживается | |
| ruby-rack | Отслеживается | |
| ruby-rack | Отслеживается | |
| ruby-rack | Отслеживается | |
| ruby-rack | Отслеживается | |
| ruby-rack | Отслеживается | |
| ruby-rack | Отслеживается | |
| ruby-rack | Отслеживается | |
| ruby-rack | Отслеживается | |
| ruby-rack | Отслеживается | |
| rack | * | Отслеживается |