URI validation failure on SVG parsing. Bypass of CVE-2023-23924
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.
Summary
Dompdf is an HTML to PDF converter written in php. Due to the difference in the attribute parser of Dompdf and php-svg-lib, an attacker can still call arbitrary URLs with arbitrary protocols. Dompdf parses the href attribute of `image` tags and respects `xlink:href` even if `href` is specified. However, php-svg-lib, which is later used to parse the svg file, parses the href attribute. Since `href` is respected if both `xlink:href` and `href` is specified, it's possible to bypass the protection on the Dompdf side by providing an empty `xlink:href` attribute. An attacker can exploit the vulnerability to call arbitrary URLs with arbitrary protocols if they provide an SVG file to the Dompdf. In PHP versions before 8.0.0, it leads to arbitrary unserialize, which will lead, at the very least, to arbitrary file deletion and might lead to remote code execution, depending on available classes. This vulnerability has been addressed in commit `95009ea98` which has been included in release version 2.0.3. Users are advised to upgrade. There are no known workarounds for this vulnerability.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| dompdf | dompdf | = 2.0.2 | — | No fix listed | CNA |
| — | dompdf/dompdf (Packagist) | 2.0.2 to before 2.0.3 | 2.0.3 | Patch available | GHSA-56gj-mvh6-rp75 |
- dompdf Vendordompdf Affected = 2.0.2 Fixed in — No fix listed CNA
- dompdf/dompdf (Packagist) Vendor— Affected 2.0.2 to before 2.0.3 Fixed in 2.0.3 Patch available GHSA-56gj-mvh6-rp75
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:dompdf_project:dompdf:2.0.2:*:*:*:*:*:*:* | 2.0.2 | Vulnerable | Dompdf Project |
- cpe:2.3:a:dompdf_project:dompdf:2.0.2:*:*:*:*:*:*:* Versions 2.0.2 Vulnerable ·Dompdf Project
Remediation
- Fix · GHSA-56gj-mvh6-rp75 dompdf/dompdf (Packagist) Fixed in 2.0.3 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2023-24813
- 2026-10-03 Alias added: GHSA-56gj-mvh6-rp75
References
More dompdf vulnerabilities
- TI-2023-09722 URI validation failure on SVG parsing in Dompdf CVSS 3.1CRITICAL 10.0
- TI-2021-02812 Improper Restriction of XML External Entity Reference in dompdf/dompdf CVSS 3.1CRITICAL 9.8
- TI-2021-02769 PHAR Deserialization in dompdf/dompdf CVSS 3.1CRITICAL 9.8
- TI-2024-16571 php-svg-lib lacks path validation on font through SVG inline styles CVSS 3.1CRITICAL 9.8
- TI-2023-27479 php-svg-lib possible DoS caused by infinite recursion when parsing SVG document CVSS 3.1HIGH 7.5
- TI-2026-42749 Dompdf: Denial of Service (DoS) via Resource Exhaustion using Oversized Image Bitmaps CVSS 4.0MEDIUM 6.3
Sources
- CVE-2023-24813 · CVE Program
- CVE-2023-24813 · NVD
- FIRST EPSS
- GHSA-56gj-mvh6-rp75 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences