Перейти к содержимому
Noroxi
CVE-2026-7774· NVD / CVE Program· CNA PSF

tarfile.data_filter path traversal bypass allows writing outside the extraction directory

tarfile.data_filter could be bypassed using crafted link entries, including symlinks with empty or directory-like names, to redirect later archive members outside the intended extraction directory. This allowed a malicious tar archive to cause tarfile.extractall() to write files outside the destination directory, subject to the permissions of the extracting process.

СредняяCVSS 6.9 · v4.0—Эксплойта нет Есть исправление
Опубликовано
4 июн. 2026 г.
Обновлено
13 авг. 2026 г.
EPSS
0,8 % · 54-й процентиль
Следить за этой CVE

Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.

Инструменты для отчёта

JSON

Оценка срочности

27

Наблюдать

Пока низкий приоритет.

CVSS
27 / 40 · 6.9 / 10
CISA KEV
0 / 30 · Нет в списке
EPSS
0 / 30 · 0,8 %

Решение CISA SSVC

Эксплуатация
нет
Автоматизируемо
нет
Техническое влияние
частичное

Vulnrichment: входные данные дерева решений CISA.

Оценка CNA и NVD

NVD
—
CNA · PSF
6,9
NVD ещё не выставил свою оценку; показана оценка CNA.

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.

Анализ Noroxi

Анализа Noroxi для этой записи пока нет

Мы не пишем анализ вручную для сотен тысяч уязвимостей в базе; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.

Мы используем этот продукт, нужна помощь

Затронутые системы

—

Версии, заявленные вендором

Диапазоны затронутых версий, заявленные назначающей организацией (PSF). Не зависят от анализа CPE в NVD и обычно опережают его.

  • Python Software Foundation CPython

    • до 3.10.21затронута · python
    • 3.11.0 и новее · до 3.11.16затронута · python
    • 3.12.0 и новее · до 3.12.14затронута · python
    • 3.13.0 и новее · до 3.13.14затронута · python
    • 3.14.0 и новее · до 3.14.6затронута · python
    • 3.15.0a1 и новее · до 3.15.0b2затронута · python

Затронутые пакеты

Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.

ЭкосистемаПакетЗатронутый диапазонИсправление
Alpine:v3.24python3до 3.14.7-r03.14.7-r0
Debian:13pypy3все версии—
Debian:13python3.13до 3.13.5-2+deb13u33.13.5-2+deb13u3
Debian:14pypy3до 8.0.0+dfsg-18.0.0+dfsg-1
Debian:14python3.13до 3.13.14-13.13.14-1
Debian:14python3.14до 3.14.6-13.14.6-1
openSUSE:Tumbleweedpython310до 3.10.20-8.13.10.20-8.1
openSUSE:Tumbleweedpython311до 3.11.15-8.13.11.15-8.1
openSUSE:Tumbleweedpython312до 3.12.13-8.13.12.13-8.1
openSUSE:Tumbleweedpython313до 3.13.14-2.13.13.14-2.1
openSUSE:Tumbleweedpython314до 3.14.6-1.13.14.6-1.1
openSUSE:Tumbleweedpython315до 3.15.0~b2-1.13.15.0~b2-1.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSpython310до 3.10.20-150400.4.115.13.10.20-150400.4.115.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSpython310до 3.10.20-150400.4.118.13.10.20-150400.4.118.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSpython310-coreдо 3.10.20-150400.4.118.13.10.20-150400.4.118.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSpython310-coreдо 3.10.20-150400.4.115.23.10.20-150400.4.115.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSpython311-documentationдо 3.11.15-150400.9.94.13.11.15-150400.9.94.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7python311-coreдо 3.11.15-150600.3.62.23.11.15-150600.3.62.2
SUSE:Linux Enterprise Module for Public Cloud 15 SP4python311до 3.11.15-150400.9.94.13.11.15-150400.9.94.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP4python311-coreдо 3.11.15-150400.9.94.23.11.15-150400.9.94.2
SUSE:Linux Enterprise Module for Python 3 15 SP7python311до 3.11.15-150600.3.62.23.11.15-150600.3.62.2
SUSE:Linux Enterprise Module for Python 3 15 SP7python313до 3.13.14-150700.4.53.13.13.14-150700.4.53.1
SUSE:Linux Enterprise Module for Python 3 15 SP7python313-coreдо 3.13.14-150700.4.53.13.13.14-150700.4.53.1
SUSE:Linux Enterprise Server 12 SP5-LTSSpython3до 3.4.10-25.191.23.4.10-25.191.2

+11

Другие записи с наивысшей оценкой для того же основного продукта.

  • CVE-2025-4517Arbitrary writes via tarfile realpath overflow
    37Наблюдать
  • CVE-2026-19445Use-after-free of a server-side SSLContext when sni_callback switches contexts
    36Наблюдать
  • CVE-2026-6100Use-after-free in lzma.LZMADecompressor, bz2.BZ2Decompressor, and gzip.GzipFile after re-use under memory pressure
    36Наблюдать
  • CVE-2026-3298Out-of-bounds write in Windows asyncio.ProacterEventLoop.sock_recvfrom_into() when using nbytes
    35Наблюдать
  • CVE-2024-12254Unbounded memory buffering in SelectorSocketTransport.writelines()
    35Наблюдать
  • CVE-2024-8088Infinite loop when iterating over zip archive entry names from zipfile.Path
    34Наблюдать

Исправление

На какую версию обновиться

Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.

Продукт / пакетИсправленная версияИсточник
Python Software Foundation CPython3.10.21Вендор (CNA)
Python Software Foundation CPython3.11.16Вендор (CNA)
Python Software Foundation CPython3.12.14Вендор (CNA)
Python Software Foundation CPython3.13.14Вендор (CNA)
Python Software Foundation CPython3.14.6Вендор (CNA)
Python Software Foundation CPython3.15.0b2Вендор (CNA)
alpine:python33.14.7-r0 · Alpine:v3.24Реестр пакетов (OSV)
debian:pypy38.0.0+dfsg-1 · Debian:14Реестр пакетов (OSV)
debian:python3.133.13.5-2+deb13u3 · Debian:13Реестр пакетов (OSV)
debian:python3.143.14.6-1 · Debian:14Реестр пакетов (OSV)
opensuse:python3103.10.20-8.1 · openSUSE:TumbleweedРеестр пакетов (OSV)
opensuse:python3113.11.15-8.1 · openSUSE:TumbleweedРеестр пакетов (OSV)
opensuse:python3123.12.13-8.1 · openSUSE:TumbleweedРеестр пакетов (OSV)
opensuse:python3133.13.14-2.1 · openSUSE:TumbleweedРеестр пакетов (OSV)
opensuse:python3143.14.6-1.1 · openSUSE:TumbleweedРеестр пакетов (OSV)
opensuse:python3153.15.0~b2-1.1 · openSUSE:TumbleweedРеестр пакетов (OSV)
suse:python33.4.10-25.191.2 · SUSE:Linux Enterprise Server 12 SP5-LTSSРеестр пакетов (OSV)
suse:python3-base3.4.10-25.191.2 · SUSE:Linux Enterprise Server 12 SP5-LTSSРеестр пакетов (OSV)
suse:python3103.10.20-150400.4.115.1 · SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSРеестр пакетов (OSV)
suse:python310-core3.10.20-150400.4.115.2 · SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSРеестр пакетов (OSV)
suse:python3113.11.15-slfo.1.1_5.1 · SUSE:Linux Micro 6.1Реестр пакетов (OSV)
suse:python311-core3.11.15-slfo.1.1_5.1 · SUSE:Linux Micro 6.1Реестр пакетов (OSV)
suse:python311-documentation3.11.15-150400.9.94.1 · SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSРеестр пакетов (OSV)
suse:python3123.12.13-150600.3.62.1 · SUSE:Linux Enterprise Server 15 SP6-LTSSРеестр пакетов (OSV)
suse:python312-core3.12.13-150600.3.62.3 · SUSE:Linux Enterprise Server 15 SP6-LTSSРеестр пакетов (OSV)
suse:python3133.13.14-150700.4.53.1 · SUSE:Linux Enterprise Module for Python 3 15 SP7Реестр пакетов (OSV)
suse:python313-core3.13.14-150700.4.53.1 · SUSE:Linux Enterprise Module for Python 3 15 SP7Реестр пакетов (OSV)
suse:python363.6.15-116.1 · SUSE:Linux Enterprise Server 12 SP5-LTSSРеестр пакетов (OSV)

Статус эксплойта

Публичный эксплойт неизвестен

Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.

Контекст для исследователя

Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.

Хронология

От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.

Кроме публикации датированных событий нет.

EPSS за 120 дней

Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).

Ссылки на патчи и коммиты

Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.

Нашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.

Кандидаты в варианты

Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.

  • CVE-2025-4517с разницей 366 дн.Arbitrary writes via tarfile realpath overflow
    37Наблюдать
  • CVE-2026-11940с разницей 19 дн.tarfile extraction filter bypass allows escaping the destination directory
    31Наблюдать
  • CVE-2025-4138с разницей 366 дн.Bypassing extraction filter to create symlinks to arbitrary targets outside extraction directory
    30Наблюдать
  • CVE-2025-4330с разницей 366 дн.Extraction filter bypass for linking outside extraction directory
    30Наблюдать
  • CVE-2026-19672с разницей 76 дн.tarfile extraction filter bypass allows creation of directories outside the destination
    25Наблюдать
  • CVE-2026-87910с разницей 99 дн.tarfile hardlink fallback ignores custom extraction filter rejection via None
    22Наблюдать

Кандидаты в цепочки

Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.

—

Охват bug bounty

Известной публичной программы нет.

Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).

Технические детали

Условия атаки

  • Может быть вызвана любым, у кого есть доступ через интернет.
  • Учётная запись или пароль не требуются.
  • Особые условия не требуются; воспроизводится стабильно.

В случае успеха

Конфиденциальность
Целостность
Доступность
Вектор атаки
Сеть
Сложность атаки
Низкая
Требуемые привилегии
Не требуются
Взаимодействие с пользователем
A
Область действия
X

Вектор CVSS

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

nvd-secondary

Первопричина

Имя файла, переданное пользователем, объединяется с разрешённым каталогом, но не проверяется, остаётся ли результат внутри этого каталога.

Ошибка в коде

Весь класс CWE-22

Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.

Уязвимый код

ts
const file = path.join(ROOT, req.query.name);res.sendFile(file);

Исправленный код

ts
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.

Журнал изменений

  1. Исправление✗ → ✓

Для отслеживаемых записей эти изменения приходят и как уведомления. →

Источники

Все записи