CVE-2021-32804
Произвольное создание/перезапись файлов из-за недостаточной очистки абсолютного пути
- Опубликовано
- 3 авг. 2021 г.
- Обновлено
- 3 авг. 2024 г.
- Назначение CNA
- GitHub_M
- Наблюдены доказательства
- 5 авг. 2026 г.
Первичный CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:NСредний · следующие 30 дней
- Процентиль
- 96,6 %
- Дата модели
- 21 сент. 2026 г.
EPSS – это статистическая оценка, а не достоверность или мера воздействия. Объедините это с CVSS, статусом KEV, воздействием и вашей средой.
Резюме
npm-пакет "tar" (также известный как node-tar) до версий 6.1.1, 5.0.6, 4.4.14 и 3.3.2 имеет уязвимость произвольного создания/перезаписи файлов из-за недостаточной очистки абсолютных путей. node-tar стремится предотвратить извлечение абсолютных путей к файлам, превращая абсолютные пути в относительные, когда флаг `preservePaths` не установлен в `true`. Это достигается удалением корня абсолютного пути из любых абсолютных путей к файлам, содержащихся в tar-файле. Например, `/home/user/.bashrc` превратится в `home/user/.bashrc`. Этой логики было недостаточно, когда пути к файлам содержали повторяющиеся корни пути, такие как `////home/user/.bashrc`. `node-tar` удалял бы только один корень пути из таких путей. При передаче абсолютного пути к файлу с повторяющимися корнями пути, результирующий путь (например, `///home/user/.bashrc`) всё равно разрешался бы в абсолютный путь, что позволяло произвольное создание и перезапись файлов. Эта проблема была устранена в выпусках 3.2.2, 4.4.14, 5.0.6 и 6.1.1. Пользователи могут обойти эту уязвимость без обновления, создав пользовательский метод `onentry`, который очищает `entry.path`, или метод `filter`, который удаляет записи с абсолютными путями. Подробности см. в указанном GitHub Advisory. Обратите внимание на CVE-2021-32803, которая исправляет аналогичную ошибку в более поздних версиях tar.
Источники
1Docker-based среда воспроизведения для CVE-2021-32804, уязвимости обхода пути в node-tar, затрагивающей npm, с пошаговыми скриптами эксплуатации.
Ответственное использование
Используйте информацию об уязвимостях только в тех системах, которыми вы владеете или имеете право тестировать. Kitploit ссылается на метаданные общедоступных исследований и не хранит код эксплойта или вредоносные полезные данные.