Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-4xh5-x5gv-qwph

Опубликовано: 24 сент. 2025
Источник: github
Github: Прошло ревью
CVSS4: 5.9

Описание

pip's fallback tar extraction doesn't check symbolic links point to extraction directory

Summary

In the fallback extraction path for source distributions, pip used Python’s tarfile module without verifying that symbolic/hard link targets resolve inside the intended extraction directory. A malicious sdist can include links that escape the target directory and overwrite arbitrary files on the invoking host during pip install.

Impact

Successful exploitation enables arbitrary file overwrite outside the build/extraction directory on the machine running pip. This can be leveraged to tamper with configuration or startup files and may lead to further code execution depending on the environment, but the direct, guaranteed impact is integrity compromise on the vulnerable system.

Conditions

The issue is triggered when installing an attacker-controlled sdist (e.g., from an index or URL) and the fallback extraction code path is used. No special privileges are required beyond running pip install; active user action is necessary.

Remediation

The fix is available starting in pip 25.3. Using a Python interpreter that implements the safe-extraction behavior described by PEP 706 provides additional defense in depth for other tarfile issues but is not a substitute for upgrading pip for this specific flaw.

Пакеты

Наименование

pip

pip
Затронутые версииВерсия исправления

<= 25.2

25.3

EPSS

Процентиль: 4%
0.0002
Низкий

5.9 Medium

CVSS4

Дефекты

CWE-59

Связанные уязвимости

ubuntu
2 месяца назад

When extracting a tar archive pip may not check symbolic links point into the extraction directory if the tarfile module doesn't implement PEP 706. Note that upgrading pip to a "fixed" version for this vulnerability doesn't fix all known vulnerabilities that are remediated by using a Python version that implements PEP 706. Note that this is a vulnerability in pip's fallback implementation of tar extraction for Python versions that don't implement PEP 706 and therefore are not secure to all vulnerabilities in the Python 'tarfile' module. If you're using a Python version that implements PEP 706 then pip doesn't use the "vulnerable" fallback code. Mitigations include upgrading to a version of pip that includes the fix, upgrading to a Python version that implements PEP 706 (Python >=3.9.17, >=3.10.12, >=3.11.4, or >=3.12), applying the linked patch, or inspecting source distributions (sdists) before installation as is already a best-practice.

nvd
2 месяца назад

When extracting a tar archive pip may not check symbolic links point into the extraction directory if the tarfile module doesn't implement PEP 706. Note that upgrading pip to a "fixed" version for this vulnerability doesn't fix all known vulnerabilities that are remediated by using a Python version that implements PEP 706. Note that this is a vulnerability in pip's fallback implementation of tar extraction for Python versions that don't implement PEP 706 and therefore are not secure to all vulnerabilities in the Python 'tarfile' module. If you're using a Python version that implements PEP 706 then pip doesn't use the "vulnerable" fallback code. Mitigations include upgrading to a version of pip that includes the fix, upgrading to a Python version that implements PEP 706 (Python >=3.9.17, >=3.10.12, >=3.11.4, or >=3.12), applying the linked patch, or inspecting source distributions (sdists) before installation as is already a best-practice.

msrc
2 месяца назад

Fallback tar extraction in pip doesn't check symbolic links point to extraction directory

debian
2 месяца назад

When extracting a tar archive pip may not check symbolic links point i ...

CVSS3: 5.7
fstec
2 месяца назад

Уязвимость модуля tarfile языка программирования Python, позволяющая нарушителю оказать воздействие на целостность защищаемой информации

EPSS

Процентиль: 4%
0.0002
Низкий

5.9 Medium

CVSS4

Дефекты

CWE-59