Directory traversal vulnerability in the (1) extract and (2) extractall functions in the tarfile module in Python allows user-assisted remot
Directory traversal vulnerability in the (1) extract and (2) extractall functions in the tarfile module in Python allows user-assisted remote attackers to overwrite arbitrary files via a .. (dot dot) sequence in filenames in a TAR archive, a related issue to CVE-2001-1267.
- BDU:2022-05975
- ALSA-2023:6324
- ALSA-2023:6494
- ALSA-2023:6659
- ALSA-2023:6694
- ALSA-2023:6914
- ALSA-2023:7024
- ALSA-2023:7034
- ALSA-2023:7050
- ALSA-2023:7151
- ALSA-2023:7176
- openSUSE-SU-2024:12684-1
- openSUSE-SU-2024:12947-1
- openSUSE-SU-2024:12964-1
- openSUSE-SU-2024:12976-1
- openSUSE-SU-2024:12977-1
- openSUSE-SU-2024:13071-1
- openSUSE-SU-2025:15104-1
- RHSA-2023:6324
- RHSA-2023:6494
- Опубликовано
- 27 авг. 2007 г.
- Обновлено
- 16 июн. 2026 г.
- EPSS
- 27,1 % · 98-й процентиль
- CWE
- CWE-22
Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.
Инструменты для отчёта
Оценка срочности
47
В плане
Включите в обычный цикл установки исправлений.
- CVSS
- 39 / 40 · 9.8 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 8 / 30 · 27,1 %
Решение CISA SSVC
- Эксплуатация
- proof of concept
- Автоматизируемо
- да
- Техническое влияние
- полное
Vulnrichment: входные данные дерева решений CISA.
Затронутые системы
| Вендор | Продукт | CPE |
|---|---|---|
| python | python | cpe:2.3:a:python:python |
Затронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- python pythonдо 3.6.16
- python python3.7.0 и новее · до 3.8.17
- python python3.9.0 и новее · до 3.9.17
- python python3.10.0 и новее · до 3.10.12
- python python3.11.0 и новее · до 3.11.4
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| AlmaLinux:8 | platform-python | до 3.6.8-56.el8_9.alma.1 | 3.6.8-56.el8_9.alma.1 |
| AlmaLinux:8 | platform-python-debug | до 3.6.8-56.el8_9.alma.1 | 3.6.8-56.el8_9.alma.1 |
| AlmaLinux:8 | platform-python-devel | до 3.6.8-56.el8_9.alma.1 | 3.6.8-56.el8_9.alma.1 |
| AlmaLinux:8 | platform-python-pip | до 9.0.3-23.el8 | 9.0.3-23.el8 |
| AlmaLinux:8 | python3-idle | до 3.6.8-56.el8_9.alma.1 | 3.6.8-56.el8_9.alma.1 |
| AlmaLinux:8 | python3-libs | до 3.6.8-56.el8_9.alma.1 | 3.6.8-56.el8_9.alma.1 |
| AlmaLinux:8 | python3-pip | до 9.0.3-23.el8 | 9.0.3-23.el8 |
| AlmaLinux:8 | python3-pip-wheel | до 9.0.3-23.el8 | 9.0.3-23.el8 |
| AlmaLinux:8 | python3-test | до 3.6.8-56.el8_9.alma.1 | 3.6.8-56.el8_9.alma.1 |
| AlmaLinux:8 | python3-tkinter | до 3.6.8-56.el8_9.alma.1 | 3.6.8-56.el8_9.alma.1 |
| AlmaLinux:8 | python3.11 | до 3.11.5-1.el8_9 | 3.11.5-1.el8_9 |
| AlmaLinux:8 | python3.11-debug | до 3.11.5-1.el8_9 | 3.11.5-1.el8_9 |
| AlmaLinux:8 | python3.11-devel | до 3.11.5-1.el8_9 | 3.11.5-1.el8_9 |
| AlmaLinux:8 | python3.11-idle | до 3.11.5-1.el8_9 | 3.11.5-1.el8_9 |
| AlmaLinux:8 | python3.11-libs | до 3.11.5-1.el8_9 | 3.11.5-1.el8_9 |
| AlmaLinux:8 | python3.11-pip | до 22.3.1-4.el8 | 22.3.1-4.el8 |
| AlmaLinux:8 | python3.11-pip-wheel | до 22.3.1-4.el8 | 22.3.1-4.el8 |
| AlmaLinux:8 | python3.11-rpm-macros | до 3.11.5-1.el8_9 | 3.11.5-1.el8_9 |
| AlmaLinux:8 | python3.11-test | до 3.11.5-1.el8_9 | 3.11.5-1.el8_9 |
| AlmaLinux:8 | python3.11-tkinter | до 3.11.5-1.el8_9 | 3.11.5-1.el8_9 |
| AlmaLinux:8 | python38 | до 3.8.17-2.module_el8.9.0+3633+e453b53a | 3.8.17-2.module_el8.9.0+3633+e453b53a |
| AlmaLinux:8 | python38-asn1crypto | до 1.2.0-3.module_el8.6.0+2778+cd494b30 | 1.2.0-3.module_el8.6.0+2778+cd494b30 |
| AlmaLinux:8 | python38-atomicwrites | до 1.3.0-8.module_el8.6.0+2778+cd494b30 | 1.3.0-8.module_el8.6.0+2778+cd494b30 |
| AlmaLinux:8 | python38-attrs | до 19.3.0-3.module_el8.6.0+2778+cd494b30 | 19.3.0-3.module_el8.6.0+2778+cd494b30 |
+96
Тот же продукт
python: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- CVE-2016-5636Integer overflow in the get_data function in zipimport.c in CPython (aka Python) before 2.7.12, 3.x before 3.4.5, and 3.5.x before 3.5.2 all47В плане
- CVE-2021-3177Python 3.x through 3.9.1 has a buffer overflow in PyCArg_repr in _ctypes/callproc.c, which may lead to remote code execution in certain Pyth46В плане
- CVE-2014-4650The CGIHTTPServer module in Python 2.7.5 and 3.3.4 does not properly handle URLs in which URL encoding is used for path separators, which al46В плане
- CVE-2018-1000802Python Software Foundation Python (CPython) version 2.7 contains a CWE-77: Improper Neutralization of Special Elements used in a Command ('C45В плане
- CVE-2020-27619In Python 3 through 3.9.0, the Lib/test/multibytecodec_support.py CJK codec tests call eval() on content retrieved via HTTP.42В плане
- CVE-2019-9636Python 2.7.x through 2.7.16 and 3.x through 3.7.2 is affected by: Improper Handling of Unicode Encoding (with an incorrect netloc) during NF42В плане
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| almalinux:python-unversioned-command | 3.9.18-1.el9_3 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:python3 | 3.9.18-1.el9_3 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:python3-debug | 3.9.18-1.el9_3 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:python3.11 | 3.11.5-1.el9_3 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:python3.11-debug | 3.11.5-1.el9_3 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:python3.11-devel | 3.11.5-1.el9_3 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:python3.11-idle | 3.11.5-1.el9_3 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:python3.11-libs | 3.11.5-1.el9_3 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:python3.11-pip | 22.3.1-4.el9 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:python3.11-pip-wheel | 22.3.1-4.el9 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:python3.11-test | 3.11.5-1.el9_3 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:python3.11-tkinter | 3.11.5-1.el9_3 · AlmaLinux:9 | Реестр пакетов (OSV) |
| opensuse:python3 | 3.6.15-150300.10.48.1 · openSUSE:Leap Micro 5.3 | Реестр пакетов (OSV) |
| opensuse:python3-core | 3.6.15-150300.10.48.1 · openSUSE:Leap Micro 5.3 | Реестр пакетов (OSV) |
| opensuse:python3-documentation | 3.6.15-150300.10.48.1 · openSUSE:Leap 15.4 | Реестр пакетов (OSV) |
| opensuse:python310 | 3.10.11-150400.4.25.1 · openSUSE:Leap 15.4 | Реестр пакетов (OSV) |
| opensuse:python310-core | 3.10.11-150400.4.25.1 · openSUSE:Leap 15.4 | Реестр пакетов (OSV) |
| opensuse:python310-documentation | 3.10.11-150400.4.25.1 · openSUSE:Leap 15.4 | Реестр пакетов (OSV) |
| red hat:python-unversioned-command | 0:3.9.18-1.el9_3 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:python3.11 | 0:3.11.5-1.el9_3 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:python3.11-debug | 0:3.11.5-1.el9_3 · Red Hat:enterprise_linux:9::crb | Реестр пакетов (OSV) |
| red hat:python3.11-debuginfo | 0:3.11.5-1.el9_3 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:python3.11-debugsource | 0:3.11.5-1.el9_3 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:python3.11-devel | 0:3.11.5-1.el9_3 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:python3.11-idle | 0:3.11.5-1.el9_3 · Red Hat:enterprise_linux:9::crb | Реестр пакетов (OSV) |
| red hat:python3.11-libs | 0:3.11.5-1.el9_3 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:python3.11-pip | 0:22.3.1-4.el9 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:python3.11-pip-wheel | 0:22.3.1-4.el9 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:python3.11-test | 0:3.11.5-1.el9_3 · Red Hat:enterprise_linux:9::crb | Реестр пакетов (OSV) |
| red hat:python3.11-tkinter | 0:3.11.5-1.el9_3 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
+22
Статус эксплойта
Есть proof of concept
Существует публичный PoC или сигнатура обнаружения. Знание об эксплойте доступно; не откладывайте установку исправлений.
Доказательство
- Репозиторий PoC на GitHub ×7
Noroxi не размещает код эксплойтов и не даёт на них ссылок. Показываются имена модулей Metasploit и идентификаторы шаблонов Nuclei (имена, не код); записи Exploit-DB и репозитории PoC даются только числом.
| Источник | Тип | Дата |
|---|---|---|
| Репозиторий PoC на GitHub | stars:82 | 2022-09-20 |
| Репозиторий PoC на GitHub | stars:0 | 2022-10-21 |
| Репозиторий PoC на GitHub | stars:0 | 2023-09-10 |
| Репозиторий PoC на GitHub | stars:0 | 2024-05-03 |
| Репозиторий PoC на GitHub | stars:0 | 2024-07-07 |
| Репозиторий PoC на GitHub | stars:1 | 2025-07-01 |
| Репозиторий PoC на GitHub | stars:0 | 2026-04-18 |
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
- Публикация
- Первый PoC+5502 дн.
- Сегодня30 сент. 2026 г.+6974 дн.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Среди источников нет ссылок на коммит или PR.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
В записи CNA нет авторов.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
Ночной расчёт связей ничего не нашёл.
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Технические детали
Условия атаки
- Может быть вызвана любым, у кого есть доступ через интернет.
- Учётная запись или пароль не требуются.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- высокое · данные могут быть прочитаны
- Целостность
- высокое · данные или конфигурация могут быть изменены
- Доступность
- высокое · работа сервиса может быть нарушена
- Вектор атаки
- Сеть
- Сложность атаки
- Низкая
- Требуемые привилегии
- Не требуются
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Высокое
- Влияние на целостность
- Высокое
- Влияние на доступность
- Высокое
Класс уязвимости (CWE)
CWE-22 · Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')Вектор CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvd-secondary
Первопричина
Имя файла, переданное пользователем, объединяется с разрешённым каталогом, но не проверяется, остаётся ли результат внутри этого каталога.
Ошибка в коде
Весь класс CWE-22Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.
Уязвимый код
const file = path.join(ROOT, req.query.name);res.sendFile(file);Исправленный код
const file = path.resolve(ROOT, req.query.name);if (!file.startsWith(ROOT + path.sep)) { return res.sendStatus(400);}res.sendFile(file);Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
Шаблоны атак (CAPEC)
- Path TraversalCAPEC-126вероятность: High · Very High
- Using Slashes and URL Encoding Combined to Bypass Validation LogicCAPEC-64вероятность: High · High
- Manipulating Web Input to File System CallsCAPEC-76вероятность: High · Very High
- Using Escaped Slashes in Alternate EncodingCAPEC-78вероятность: High · High
- Using Slashes in Alternate EncodingCAPEC-79вероятность: High · High
Техники ATT&CK
—
Анализ Noroxi
Анализа Noroxi для этой записи пока нет
Мы не пишем анализ вручную для всех 385 000+ уязвимостей; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.
Мы используем этот продукт, нужна помощьЖурнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
- mail.python.org/pipermail/python-dev/2007-August/074290.html
- secunia.com/advisories/26623
- www.vupen.com/english/advisories/2007/3022
- bugzilla.redhat.com/show_bug.cgi?id=263261
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/CVBB7NU3YIRRDOKLYVN647WPRR3IAKR6/
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/FI55PGL47ES3OU2FQPGEHOI2EK3S2OBH/
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/KA4Z44ZAI4SY7THCFBUDNT5EEFO4XQ3A/
- security.gentoo.org/glsa/202309-06
- lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/CVBB7NU3YIRRDOKLYVN647WPRR3IAKR6/
- lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/FI55PGL47ES3OU2FQPGEHOI2EK3S2OBH/
- lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/KA4Z44ZAI4SY7THCFBUDNT5EEFO4XQ3A/
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.