DescriptionIn PHP versions 8.0.* before 8.0.30, 8.1.* before 8.1.22, and 8.2.* before 8.2.8 various XML functions rely on libxml global state to track configuration variables, like whether external entities are loaded. This state is assumed to be unchanged unless the user explicitly changes it by calling appropriate function. However, since the state is process-global, other modules - such as ImageMagick - may also use this library within the same process, and change that global state for their internal purposes, and leave it in a state where external entities loading is enabled. This can lead to the situation where external XML is parsed with external entities loaded, which can lead to disclosure of any local files accessible to PHP. This vulnerable state may persist in the same process across many requests, until the process is shut down.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
Debian Bugs1043477

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
php7.3 (PTS)buster7.3.31-1~deb10u1vulnerable
buster (security)7.3.31-1~deb10u5fixed
php7.4 (PTS)bullseye (security), bullseye7.4.33-1+deb11u4vulnerable
php8.2 (PTS)bookworm, bookworm (security)8.2.7-1~deb12u1vulnerable

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

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs


[bookworm] - php8.2 <postponed> (Fix along in future update)
[bullseye] - php7.4 <postponed> (Fix along in future update) (php-8.0.30)
Fixed in: 8.0.30, 8.1.22, 8.2.8

Search for package or bug name: Reporting problems