GNU cpio содержит уязвимость Path Traversal в своей функции извлечения tar-архива. При извлечении архива tar в режиме копирования с опцией --no-absolute-filenames имя извлеченного файла нормализуется, но цель жесткой ссылки tar передается в функцию link_to_name без эквивалентной очистки перед вызовом функции ссылки. Архив tar, предоставленный злоумышленником и содержащий запись жесткой ссылки, имя ссылки которой имеет абсолютный путь за пределами каталога извлечения, может привести к тому, что cpio создаст жесткую ссылку на существующий файл за пределами предполагаемого каталога извлечения, нарушая ожидаемую гарантию --no-absolute-filenames и позволяя управлять связью с внешними файлами.
Эта проблема была исправлена в коммите e2b9cbdd3354d2b1569b7390d1bc15c1930559ad.
Показать оригинальное описание (EN)
GNU cpio contains a Path Traversal vulnerability in its tar archive extraction functionality. When extracting a tar archive in copy-in mode with the --no-absolute-filenames option, the extracted file name is normalized but the tar hard-link target is passed to the link_to_name function without equivalent sanitization before calling link function. A tar archive provided by an attacker, containing a hard-link entry whose linkname is set to an absolute path outside the extraction directory, can cause cpio to create a hard link to an existing file outside the intended extraction directory, breaking the expected guarantee of --no-absolute-filenames and allowing archive-controlled linkage to external files. This issue has been fixed in commit e2b9cbdd3354d2b1569b7390d1bc15c1930559ad
Характеристики атаки
Последствия
Строка CVSS v4.0