Platform
python
Component
tarfile
Opgelost in
3.10.18
3.11.13
3.12.11
3.13.4
3.14.0b3
CVE-2025-4138 is een directory traversal kwetsbaarheid in de Python tarfile module. Deze kwetsbaarheid stelt aanvallers in staat om bestanden buiten de beoogde extractiedirectory te schrijven, wat kan leiden tot ongeautoriseerde toegang tot gevoelige gegevens of het compromitteren van het systeem. De kwetsbaarheid beïnvloedt Python versies 3.10.0 tot en met 3.14.0b3. Een fix is beschikbaar in Python 3.14.0b3.
Een succesvolle exploitatie van CVE-2025-4138 kan leiden tot ernstige gevolgen. Een aanvaller kan, door een kwaadaardig geconstrueerd tar-archief te leveren, bestanden naar willekeurige locaties op het systeem schrijven. Dit omvat potentieel het overschrijven van systeemconfiguratiebestanden, het installeren van malware of het verkrijgen van toegang tot gevoelige gegevens die buiten de extractiedirectory zijn opgeslagen. De impact is vergelijkbaar met andere directory traversal kwetsbaarheden, waarbij de mogelijkheid bestaat om de integriteit en vertrouwelijkheid van het systeem in gevaar te brengen. De kwetsbaarheid is vooral gevaarlijk in omgevingen waar Python wordt gebruikt om tar-archieven van onbetrouwbare bronnen te verwerken.
Op dit moment is er geen publieke exploitatie van CVE-2025-4138 bekend. De kwetsbaarheid is openbaar gemaakt op 2025-06-03. De CVSS score is 7.5 (HIGH), wat duidt op een significant risico. Er is geen vermelding op de CISA KEV catalogus op het moment van schrijven. Het is aannemelijk dat er in de toekomst proof-of-concept exploits beschikbaar komen, gezien de relatieve eenvoud van directory traversal kwetsbaarheden.
Systems using Python 3.10.0 through 3.14.0b3 that process untrusted tar archives are at risk. This includes web applications, automation scripts, and any system that relies on the tarfile module to extract archives from external sources. Shared hosting environments where multiple users can upload files are particularly vulnerable.
• python / server:
find / -name '*tar.gz' -o -name '*tar.bz2' -o -name '*tar'• python / supply-chain:
import os
import tarfile
def check_tarfile_extraction(filepath, destination):
try:
with tarfile.open(filepath, 'r') as tar:
tar.extractall(path=destination, filter='data') # Vulnerable code
return False # No vulnerability detected
except Exception as e:
return True # Vulnerability detected
# Example usage (replace with actual filepaths)
filepath = '/path/to/your/archive.tar.gz'
destination = '/tmp/extraction_test'
if check_tarfile_extraction(filepath, destination):
print(f"Potential vulnerability detected in {filepath}")
else:
print(f"No vulnerability detected in {filepath}")disclosure
Exploit Status
EPSS
0.10% (27% percentiel)
CISA SSVC
CVSS-vector
De primaire mitigatie voor CVE-2025-4138 is het upgraden naar Python versie 3.14.0b3 of hoger, waar de kwetsbaarheid is verholpen. Als een upgrade niet direct mogelijk is, kan het gebruik van de filter parameter in TarFile.extractall() of TarFile.extract() worden beperkt. Vermijd het gebruik van de filter parameter met de waarde 'data' of 'tar'. Een alternatieve mitigatie is het valideren van de extractiedirectory en het beperken van de toegang tot de bestanden die worden geëxtraheerd. Na de upgrade, controleer of de extractiefuncties correct werken met behulp van testarchieven om te bevestigen dat de kwetsbaarheid is verholpen.
Actualice la biblioteca CPython a la versión 3.10.18 o superior, 3.11.13 o superior, 3.12.11 o superior, 3.13.4 o superior, o 3.14.0b3 o superior. Evite usar la función `TarFile.extractall()` o `TarFile.extract()` con el parámetro `filter=` configurado en 'data' o 'tar' con archivos tar no confiables.
Kwetsbaarheidsanalyses en kritieke waarschuwingen direct in uw inbox.
CVE-2025-4138 is a directory traversal vulnerability in Python's tarfile module affecting versions 3.10.0–3.14.0b3. It allows attackers to extract files outside the intended directory when using the 'data' or 'tar' filter.
You are affected if you are using Python versions 3.10.0 through 3.14.0b3 and extracting untrusted tar archives using TarFile.extractall() or TarFile.extract() with the filter='data' or filter='tar' parameter.
Upgrade to Python 3.14.0b3 or later. Alternatively, avoid using the filter parameter with 'data' or 'tar' when extracting untrusted archives.
No active exploitation has been confirmed, but the vulnerability's ease of exploitation makes it a potential target.
Refer to the Python security advisory for CVE-2025-4138 on the Python website (https://docs.python.org/3/library/tarfile.html#tarfile-extraction-filter).
Upload je dependency-bestand en kom direct te weten of deze en andere CVEs jou raken.
Upload je requirements.txt-bestand en we vertellen je direct of je getroffen bent.