CVE-2023-24813 json
URI validation failure on SVG parsing. Bypass of CVE-2023-23924
published 2023-02-07 3 y ago modified 2026-09-10 1 mo ago also GHSA-56gj-mvh6-rp75 , EUVD-2023-0628
- cvss
- 10.0
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 2.5%
- EPSS 2.5% chance of exploitation in 30 days, percentile 84%
- public exploits
- 0
- none known
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.
Patch / fix
- packagist dompdf/dompdf 2.0.3
- php-dompdf Debian 12 2.0.3+dfsg-1
debian advisories DEBIAN-CVE-2023-24813
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- total
- Assessed
- 19 mo ago
Exploit prediction
2.49% chance of exploitation in the next 30 days, higher than 84% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/dompdf/dompdf/security/advisories/GHSA-56gj-mvh6-rp75 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 10.0 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| NVD | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 10.0 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| packagist | dompdf/dompdf | >=2.0.2, <2.0.3 |
2.0.3 |
Affected products
- dompdf dompdf
Classification
- Weakness
-
- CWE-436 Interpretation Conflict
References
-
github.com
/dompdf/dompdf/commit/95009ea98230f9b084b040c34e3869ef3dccc9aa
web, patch, vendor-advisory
-
github.com
/dompdf/dompdf/security/advisories/GHSA-56gj-mvh6-rp75
web, exploit, vendor-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2023-24813
advisory
-
github.com
/dompdf/dompdf
package
Sources
- CVE List CVE-2023-24813
- GitHub Advisory GHSA-56gj-mvh6-rp75
- NVD CVE-2023-24813
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.