CVE-2019-15845: Уязвимость NUL инъекции в File.fnmatch и File.fnmatch?
Опубликовал mame 01-10-2019
Перевел: shprotru
Найдена уязвимость NUL инъекции во встроенные методы Ruby (File.fnmatch и File.fnmatch?). Злоумышленник, у которого есть контроль над параметром path pattern, может ей воспользоваться, выполнив сопоставление путей, несмотря на намерение автора программы.
CVE-2019-15845 была назначена этой уязвимости.
Подробности
Встроенные методы File.fnmatch и его алиас File.fnmatch? принимают в качестве первого параметра шаблон пути. Когда шаблон содержит NUL символ (\0), методы считают, что путь немедленно заканчивается до NUL байта. Таким образом, скрипт, который использует внешний ввод в качестве аргумента шаблона, злоумышленник может заставить его неправильно сопоставлять с путём, который указан в качестве второго параметра.
Все пользователи, работающие на уязвимом выпуске, должны немедленно обновиться.
Уязвимые Версии
- Все релизы Ruby 2.3 и меньше
- Серия Ruby 2.4: Ruby 2.4.7 и меньше
- Серия Ruby 2.5: Ruby 2.5.6 и меньше
- Серия Ruby 2.6: Ruby 2.6.4 и меньше
- Ruby 2.7.0-preview1
- до мастер-коммита a0a2640b398cffd351f87d3f6243103add66575b
Благодарности
Спасибо ooooooo_q за обнаружение этой уязвимости.
История
- Первоначально опубликовано в 2019-10-01 11:00:00 (UTC)
Последние новости
Вышел Ruby 4.0.4
Вышел Ruby 4.0.4.
Опубликовал k0kubun 11-05-2026
Вышел Ruby 4.0.3
Вышел Ruby 4.0.3.
Опубликовал k0kubun 21-04-2026
Вышел Ruby 3.2.11
Вышел Ruby 3.2.11. В этот релиз вошло обновление гема zlib, устраняющее CVE-2026-27820.
Опубликовал hsbt 27-03-2026
Вышел Ruby 3.3.11
Вышел Ruby 3.3.11. В этот релиз вошло обновление гема zlib, устраняющее CVE-2026-27820, а также некоторые исправления ошибок.
Опубликовал hsbt 26-03-2026