CVE-2025-4517

Publication date 3 June 2025

Last updated 6 June 2025


Ubuntu priority

Cvss 3 Severity Score

9.4 · Critical

Score breakdown

Allows arbitrary filesystem writes outside the extraction directory during extraction with filter="data". You are affected by this vulnerability if using the tarfile module to extract untrusted tar archives using TarFile.extractall() or TarFile.extract() using the filter= parameter with a value of "data" or "tar". See the tarfile extraction filters documentation https://docs.python.org/3/library/tarfile.html#tarfile-extraction-filter  for more information. Only Python versions 3.12 or later are affected by these vulnerabilities, earlier versions don't include the extraction filter feature. Note that for Python 3.14 or later the default value of filter= changed from "no filtering" to `"data", so if you are relying on this new default behavior then your usage is also affected. Note that none of these vulnerabilities significantly affect the installation of source distributions which are tar archives as source distributions already allow arbitrary code execution during the build process. However when evaluating source distributions it's important to avoid installing source distributions with suspicious links.

Read the notes from the security team

Status

Package Ubuntu Release Status
python2.7 25.04 plucky Not in release
24.10 oracular Not in release
24.04 LTS noble Not in release
22.04 LTS jammy
Not affected
20.04 LTS focal
Not affected
18.04 LTS bionic
Not affected
16.04 LTS xenial
Not affected
14.04 LTS trusty
Not affected
python3.10 25.04 plucky Not in release
24.10 oracular Not in release
24.04 LTS noble Not in release
22.04 LTS jammy
Needs evaluation
python3.11 25.04 plucky Not in release
24.10 oracular Not in release
24.04 LTS noble Not in release
22.04 LTS jammy
Needs evaluation
python3.12 25.04 plucky Not in release
24.10 oracular
Needs evaluation
24.04 LTS noble
Needs evaluation
22.04 LTS jammy Not in release
python3.13 25.04 plucky
Needs evaluation
24.10 oracular
Needs evaluation
24.04 LTS noble Not in release
22.04 LTS jammy Not in release
python3.4 25.04 plucky Not in release
24.10 oracular Not in release
24.04 LTS noble Not in release
22.04 LTS jammy Not in release
14.04 LTS trusty
Not affected
python3.5 25.04 plucky Not in release
24.10 oracular Not in release
24.04 LTS noble Not in release
22.04 LTS jammy Not in release
16.04 LTS xenial
Not affected
14.04 LTS trusty
Not affected
python3.6 25.04 plucky Not in release
24.10 oracular Not in release
24.04 LTS noble Not in release
22.04 LTS jammy Not in release
18.04 LTS bionic
Not affected
python3.7 25.04 plucky Not in release
24.10 oracular Not in release
24.04 LTS noble Not in release
22.04 LTS jammy Not in release
18.04 LTS bionic
Not affected
python3.8 25.04 plucky Not in release
24.10 oracular Not in release
24.04 LTS noble Not in release
22.04 LTS jammy Not in release
20.04 LTS focal
Not affected
18.04 LTS bionic
Not affected
python3.9 25.04 plucky Not in release
24.10 oracular Not in release
24.04 LTS noble Not in release
22.04 LTS jammy Not in release
20.04 LTS focal
Not affected

Notes


hlibk

The tarfile filter feature was introduced in Python version 3.12 and subsequently backported to older versions. Older releases are not affected as the feature was never backported for the Ubuntu releases. For example, in Python 3.9, the tarfile filter feature was introduced in version 3.9.17. This can be checked in the Lib/shutil.py file whether the _unpack_tarfile function has a filter parameter. Relevant commit is 98016f7c92aa4c1232c68bac1ed6646db31782ec for 3.9.17.

Severity score breakdown

Parameter Value
Base score 9.4 · Critical
Attack vector Network
Attack complexity Low
Privileges required None
User interaction None
Scope Unchanged
Confidentiality High
Integrity impact High
Availability impact Low
Vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L