CVE-2021-28966: Уязвимость обхода каталога в Tempfile на Windows

В библиотеке tmpdir, поставляемой с Ruby, на Windows обнаружена непредусмотренная уязвимость создания директории. Помимо этого есть и непредусмотренная уязвимость создания файла в библиотеке tempfile, поставляемой с Ruby на Windows, потому что под капотом она использует tmpdir. Этой уязвимости присвоен идентификатор CVE CVE-2021-28966.

Подробности

Метод Dir.mktmpdir, предоставляемый библиотекой tmpdir, принимает префикс и суффикс директории, которая создается из первого параметра. Префикс может содержать спецификаторы относительной директории "..\\", поэтому этот метод может использоваться для указания на любую директорию. Таким образом, если скрипт принимает префикс извне, и указанная директория имеет несоответствующие права, или процесс ruby имеет несоответствующие привилегии, злоумышленник может создать директорию или файл в любой директории.

Эта уязвимость аналогична CVE-2018-6914, но предыдущее исправление было не полноценно на Windows.

Все пользователи, использующие уязвимый релиз, должны немедленно обновиться.

Уязвимые версии

  • Ruby 2.7.2 и ниже
  • Ruby 3.0.0

Авторство

Благодарим Bugdiscloseguys за обнаружение проблемы.

История

  • Изначально опубликовано в 2021-04-05 12:00:00 (UTC)