DescriptionAn issue was discovered in Python 3.11 through 3.11.4. If a path containing '\0' bytes is passed to os.path.normpath(), the path will be truncated unexpectedly at the first '\0' byte. There are plausible cases in which an application would have rejected a filename for security reasons in Python 3.10.x or earlier, but that filename is no longer rejected in Python 3.11.x.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
python2.7 (PTS)buster2.7.16-2+deb10u1fixed
buster (security)2.7.16-2+deb10u4fixed
python3.11 (PTS)bookworm3.11.2-6vulnerable
sid, trixie3.11.9-1fixed
python3.12 (PTS)sid, trixie3.12.3-1fixed
python3.7 (PTS)buster3.7.3-2+deb10u3fixed
buster (security)3.7.3-2+deb10u7fixed
python3.9 (PTS)bullseye3.9.2-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
python2.7source(unstable)(not affected)
python3.10source(unstable)(not affected)
python3.7source(unstable)(not affected)
python3.9source(unstable)(not affected)


[bookworm] - python3.11 <no-dsa> (Minor issue)
- python3.10 <not-affected> (Vulnerable code introduced in 3.11.y)
- python3.9 <not-affected> (Vulnerable code introduced in 3.11.y)
- python3.7 <not-affected> (Vulnerable code introduced in 3.11.y)
- python2.7 <not-affected> (Vulnerable code introduced in 3.11.y)
Backport for 3.12:
Backport for 3.11:

Search for package or bug name: Reporting problems