Active Storage позволяет пользователям прикреплять облачные и локальные файлы в приложениях Rails. До версий 8.1.2.1, 8.0.4.1 и 7.2.3.1 DirectUploadsController принимает произвольные метаданные от клиента и сохраняет их в большом двоичном объекте. Поскольку внутренние флаги, такие как «идентифицированный» и «проанализированный», хранятся в одном и том же хеше метаданных, клиент прямой загрузки может установить эти флаги для пропуска обнаружения и анализа MIME.
Это позволяет злоумышленнику загружать произвольный контент, запрашивая безопасный `content_type`, минуя любые проверки, основанные на автоматической идентификации типа контента Active Storage. Версии 8.1.2.1, 8.0.4.1 и 7.2.3.1 содержат исправление.
Показать оригинальное описание (EN)
Active Storage allows users to attach cloud and local files in Rails applications. Prior to versions 8.1.2.1, 8.0.4.1, and 7.2.3.1, `DirectUploadsController` accepts arbitrary metadata from the client and persists it on the blob. Because internal flags like `identified` and `analyzed` are stored in the same metadata hash, a direct-upload client can set these flags to skip MIME detection and analysis. This allows an attacker to upload arbitrary content while claiming a safe `content_type`, bypassing any validations that rely on Active Storage's automatic content type identification. Versions 8.1.2.1, 8.0.4.1, and 7.2.3.1 contain a patch.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 3
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Rubyonrails Rails
cpe:2.3:a:rubyonrails:rails:*:*:*:*:*:*:*:*
|
— |
7.2.3.1
|
|
Rubyonrails Rails
cpe:2.3:a:rubyonrails:rails:*:*:*:*:*:*:*:*
|
8.0.0
|
8.0.4.1
|
|
Rubyonrails Rails
cpe:2.3:a:rubyonrails:rails:*:*:*:*:*:*:*:*
|
8.1.0
|
8.1.2.1
|