| Name | CVE-2026-11940 |
| Description | tarfile.extractall() with the 'data' or 'tar' filter could be bypassed by a crafted archive where a hardlink references a symlink stored at a deeper name than the hardlink itself. The extraction fallback validated the symlink at it's archived location but recreated it at the hardlink's shallower path, letting a relative target the filter judged contained escape the destination directory. This allowed a malicious tar archive to create a symlink pointing outside the destination, enabling out-of-destination file reads or writes. This was an incomplete fix of CVE-2025-4330. |
| Source | CVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
The table below lists information on source packages.
| Source Package | Release | Version | Status |
|---|---|---|---|
| pypy3 (PTS) | bullseye | 7.3.5+dfsg-2+deb11u2 | vulnerable |
| bullseye (security) | 7.3.5+dfsg-2+deb11u5 | vulnerable | |
| bookworm | 7.3.11+dfsg-2+deb12u3 | vulnerable | |
| trixie | 7.3.19+dfsg-2 | vulnerable | |
| sid, forky | 7.3.23+dfsg-1 | vulnerable | |
| python2.7 (PTS) | bullseye | 2.7.18-8+deb11u1 | vulnerable |
| python3.11 (PTS) | bookworm | 3.11.2-6+deb12u7 | vulnerable |
| bookworm (security) | 3.11.2-6+deb12u3 | vulnerable | |
| python3.13 (PTS) | trixie | 3.13.5-2+deb13u2 | vulnerable |
| sid, forky | 3.13.14-1 | vulnerable | |
| python3.14 (PTS) | sid, forky | 3.14.6-1 | vulnerable |
| python3.9 (PTS) | bullseye | 3.9.2-1 | vulnerable |
| bullseye (security) | 3.9.2-1+deb11u7 | vulnerable |
The information below is based on the following data on fixed versions.
| Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
|---|---|---|---|---|---|---|
| pypy3 | source | (unstable) | (unfixed) | |||
| python2.7 | source | (unstable) | (unfixed) | |||
| python3.11 | source | (unstable) | (unfixed) | |||
| python3.13 | source | (unstable) | (unfixed) | |||
| python3.14 | source | (unstable) | (unfixed) | |||
| python3.9 | source | (unstable) | (unfixed) |
https://github.com/python/cpython/issues/151558
https://github.com/python/cpython/pull/151559
https://github.com/python/cpython/commit/672825e2f36a57e173959b0d9d409d4560dab8df (3.15 branch)
https://github.com/python/cpython/commit/79c06bd5c6afa3c440d50faf7ee1b147c8832b4c (3.14 branch)
https://github.com/python/cpython/commit/771d12dda5140313db0ac550292987975651bbde (3.13 branch)