CVE-2021-21707 json
Special characters break path parsing in XML functions
published 2021-11-29 4 y ago modified 2026-09-08 2 mo ago also BIT-libphp-2021-21707 , BIT-php-2021-21707 , BIT-php-min-2021-21707 , EUVD-2021-8879
- cvss
- 5.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 25.3%
- EPSS 25.3% chance of exploitation in 30 days, percentile 97%
- public exploits
- 0
- none known
Summary
In PHP versions 7.3.x below 7.3.33, 7.4.x below 7.4.26 and 8.0.x below 8.0.13, certain XML parsing functions, like simplexml_load_file(), URL-decode the filename passed to them. If that filename contains URL-encoded NUL character, this may cause the function to interpret this as the end of the filename, thus interpreting the filename differently from what the user intended, which may lead it to reading a different file than intended.
Patch / fix
- bitnami libphp 7.3.33, 7.4.26, 8.0.13
- bitnami php 7.3.33, 7.4.26, 8.0.13
- bitnami php-min 7.3.33, 7.4.26, 8.0.13
- PHP Group PHP 7.3.33, 7.4.26, 8.0.13
- php7.4 Debian 11 7.4.28-1+deb11u1
debian advisories DEBIAN-CVE-2021-21707
- php7.2 Ubuntu 18.04 LTS 7.2.24-0ubuntu0.18.04.11
- php7.4 Ubuntu 20.04 LTS 7.4.3-4ubuntu2.10
- php7.0 Ubuntu Pro 16.04 LTS 7.0.33-0ubuntu0.16.04.16+esm3
ubuntu advisories UBUNTU-CVE-2021-21707
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- php RHEL 8 7.4.30-1.module+el8.7.0+15886+8e29b882
- libzip RHEL 8 1.6.1-1.module+el8.3.0+6678+b09f589e
- php-gd RHEL 8 7.4.30-1.module+el8.7.0+15886+8e29b882
- php-cli RHEL 8 7.4.30-1.module+el8.7.0+15886+8e29b882
- php-dba RHEL 8 7.4.30-1.module+el8.7.0+15886+8e29b882
- php-dbg RHEL 8 7.4.30-1.module+el8.7.0+15886+8e29b882
- php-ffi RHEL 8 7.4.30-1.module+el8.7.0+15886+8e29b882
- php-fpm RHEL 8 7.4.30-1.module+el8.7.0+15886+8e29b882
red hat advisories RHSA-2022:7628RHSA-2022:5491
- php7 SLES for SAP 15 SP2, SLES 15 SP2-LTSS, SLES 15 SP2-BCL +10 more 7.4.33-150200.3.46.2
- php7-test openSUSE Leap 15.3 7.4.33-150200.3.46.2
- php74 SLE Software Development Kit 12 SP5, SLE Module for Web and Scripting 12 7.4.33-1.47.2
- php7 SLES for SAP 15 SP1, SLES for SAP 15, SLES 15-LTSS +8 more 7.2.34-150000.4.103.1
- php7 SLE Module for Legacy 15 SP4, openSUSE Leap 15.4 7.4.33-150400.4.13.1
- php7-fpm SLE Module for Legacy 15 SP4, openSUSE Leap 15.4 7.4.33-150400.4.13.1
- php7-test openSUSE Leap 15.4 7.4.33-150400.4.13.2
- php7-embed SLE Module for Package Hub 15 SP4, openSUSE Leap 15.4 7.4.33-150400.4.13.1
suse advisories SUSE-SU-2022:4069-1SUSE-SU-2022:4068-1SUSE-SU-2022:4067-1SUSE-SU-2022:3997-1SUSE-SU-2022:2303-1SUSE-SU-2022:2292-1
- php8 openSUSE Tumbleweed 8.0.13-1.1
- php7 openSUSE Tumbleweed 7.4.26-1.1
- php7 openSUSE Leap 15.2 7.4.6-lp152.2.21.1
- php7-test openSUSE Leap 15.2 7.4.6-lp152.2.21.1
- php7 openSUSE Leap 15.3 7.4.6-3.29.1
- php7-test openSUSE Leap 15.3 7.4.6-3.29.1
opensuse advisories openSUSE-SU-2024:11638-1openSUSE-SU-2024:11640-1openSUSE-SU-2021:1570-1openSUSE-SU-2021:3943-1
- php AlmaLinux 8 7.4.30-1.module_el8.7.0+3286+227f3cf0
- libzip AlmaLinux 8 1.6.1-1.module_el8.6.0+2750+78feabcb
- libzip AlmaLinux 8 1.6.1-1.module_el8.6.0+3239+bedf0508
- php-gd AlmaLinux 8 7.4.30-1.module_el8.7.0+3286+227f3cf0
- php-cli AlmaLinux 8 7.4.30-1.module_el8.7.0+3286+227f3cf0
- php-dba AlmaLinux 8 7.4.30-1.module_el8.7.0+3286+227f3cf0
- php-dbg AlmaLinux 8 7.4.30-1.module_el8.7.0+3286+227f3cf0
- php-ffi AlmaLinux 8 7.4.30-1.module_el8.7.0+3286+227f3cf0
almalinux advisories ALSA-2022:7628
- php Rocky Linux 8 7.4.30-1.module+el8.7.0+1067+0a7071cc
- libzip Rocky Linux 8 1.6.1-1.module+el8.6.0+789+2130c178
- libzip Rocky Linux 8 1.6.1-1.module+el8.4.0+415+e936cba3
- php-pear Rocky Linux 8 1:1.10.13-1.module+el8.7.0+1067+0a7071cc
- php-pear Rocky Linux 8 1:1.10.13-1.module+el8.6.0+1006+0d5a469f
- php-pecl-rrd Rocky Linux 8 2.0.1-1.module+el8.4.0+414+2e7afcdd
- php-pecl-zip Rocky Linux 8 1.18.2-1.module+el8.6.0+789+2130c178
- php-pecl-zip Rocky Linux 8 1.18.2-1.module+el8.4.0+415+e936cba3
rocky linux advisories RLSA-2022:7628
- php7 Alpine 3.12 7.3.33-r0
- php7 Alpine 3.15, Alpine 3.14, Alpine 3.13 7.4.26-r0
- php8 Alpine 3.16, Alpine 3.15, Alpine 3.14 +1 more 8.0.13-r0
- php81 Alpine 3.19, Alpine 3.18, Alpine 3.17 +1 more 8.1.0-r0
alpine advisories ALPINE-CVE-2021-21707
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- php Arch Linux 8.0.13-1
arch linux advisories AVG-2566
- bugs.php.net/bug.php?id=79971 advisory
- tenable.com/security/tns-2022-09 advisory
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2021-21707 updated cvss 5.3
php: Special character breaks path in xml parsing
-
Red Hat Enterprise Linux 6 php, php-gd, php-cli, php-dba, php-fpm, php-pdo, +20 more Red Hat Enterprise Linux 7 php, php-gd, php-cli, php-dba, php-fpm, php-pdo, +18 more Red Hat Enterprise Linux 8 php, libzip, php-gd, php-cli, php-dba, php-dbg, +30 moreaffected: no fix planned “Out of support scope”
-
Red Hat Enterprise Linux AppStream (v. 8) php 7.4.30-1.module+el8.7.0+15886+8e29b882, libzip 1.6.1-1.module+el8.3.0+6678+b09f589e, php-gd 7.4.30-1.module+el8.7.0+15886+8e29b882, php-cli 7.4.30-1.module+el8.7.0+15886+8e29b882, php-dba 7.4.30-1.module+el8.7.0+15886+8e29b882, php-dbg 7.4.30-1.module+el8.7.0+15886+8e29b882, +28 morefixed: vendor fix RHSA-2022:7628
-
Red Hat Software Collections for RHEL Workstation(v. 7) rh-php73-php 7.3.33-1.el7, rh-php73-php-gd 7.3.33-1.el7, rh-php73-php-cli 7.3.33-1.el7, rh-php73-php-dba 7.3.33-1.el7, rh-php73-php-dbg 7.3.33-1.el7, rh-php73-php-fpm 7.3.33-1.el7, +22 more Red Hat Software Collections for RHEL(v. 7) rh-php73-php 7.3.33-1.el7, rh-php73-php-gd 7.3.33-1.el7, rh-php73-php-cli 7.3.33-1.el7, rh-php73-php-dba 7.3.33-1.el7, rh-php73-php-dbg 7.3.33-1.el7, rh-php73-php-fpm 7.3.33-1.el7, +22 morefixed: vendor fix RHSA-2022:5491
-
Red Hat Enterprise Linux 9 php, php-gd, php-cli, php-dba, php-dbg, php-ffi, +18 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
cisa ICSA-26-027-02 updated cvss 5.3
Festo Didactic SE MES PC
-
Festo Didactic SE MES PC shipped_with_Windows_10affected: vendor fix
Facts from CISA's republication of the vendor's own advisory (CSAF); the linked advisory is the authoritative source. CISA notification · csaf
Exploit prediction
25.31% chance of exploitation in the next 30 days, higher than 97% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- bugs.php.net https://bugs.php.net/bug.php?id=79971 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
| NVD | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
| NVD | 2.0 | 5.0 | AV:N/AC:L/Au:N/C:P/I:N/A:N |
| OSV | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| bitnami | libphp | >=7.3.0, <7.3.33 >=7.4.0, <7.4.26 >=8.0.0, <8.0.13 |
7.3.33 7.4.26 8.0.13 |
| bitnami | php | >=7.3.0, <7.3.33 >=7.4.0, <7.4.26 >=8.0.0, <8.0.13 |
7.3.33 7.4.26 8.0.13 |
| bitnami | php-min | >=7.3.0, <7.3.33 >=7.4.0, <7.4.26 >=8.0.0, <8.0.13 |
7.3.33 7.4.26 8.0.13 |
Affected products
- PHP Group PHP
Classification
- Weakness
-
- CWE-159 Improper Handling of Invalid Use of Special Elements
- Technology feeds
References
-
bugs.php.net
/bug.php?id=79971
exploit, issue-tracking, patch, release-notes, vendor-advisory, advisory
-
tenable.com
/security/tns-2022-09
patch, release-notes, third-party-advisory, advisory
-
debian.org
/security/2022/dsa-5082
vendor-advisory, third-party-advisory, advisory
-
security.netapp.com
/advisory/ntap-20211223-0005/
third-party-advisory, advisory
-
lists.debian.org
/debian-lts-announce/2022/12/msg00030.html
mailing-list, issue-tracking, report
-
nvd.nist.gov
/vuln/detail/CVE-2021-21707
web
Sources
- CVE List CVE-2021-21707
- NVD CVE-2021-21707
- OSV BIT-libphp-2021-21707
- OSV BIT-php-2021-21707
- OSV BIT-php-min-2021-21707
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.