CVE-2024-25117

php-svg-lib lacks path validation on font through SVG inline styles

Published Feb 21, 2024 CVSS 3.1 · 6.8 Medium EPSS < 1% KEV · Not listed
Description
php-svg-lib is a scalable vector graphics (SVG) file parsing/rendering library. Prior to version 0.5.2, php-svg-lib fails to validate that font-family doesn't contain a PHAR url, which might leads to RCE on PHP < 8.0, and doesn't validate if external references are allowed. This might leads to bypass of restrictions or RCE on projects that are using it, if they do not strictly revalidate the fontName that is passed by php-svg-lib. The `Style::fromAttributes(`), or the `Style::parseCssStyle()` should check the content of the `font-family` and prevents it to use a PHAR url, to avoid passing an invalid and dangerous `fontName` value to other libraries. The same check as done in the `Style::fromStyleSheets` might be reused. Libraries using this library as a dependency might be vulnerable to some bypass of restrictions, or even remote code execution, if they do not double check the value of the `fontName` that is passed by php-svg-lib. Version 0.5.2 contains a fix for this issue.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Debian DSA Debian DSA DSA-5642-1 php-dompdf-svg-lib security update
EUVD EUVD EUVD-2024-0625 php-svg-lib is a scalable vector graphics (SVG) file parsing/rendering library. Prior to version 0.5.2, php-svg-lib fails to validate that font-family doesn't contain a PHAR url, which might leads to RCE on PHP < 8.0, and doesn't validate if external references are allowed. This might leads to bypass of restrictions or RCE on projects that are using it, if they do not strictly revalidate the fontName that is passed by php-svg-lib. The `Style::fromAttributes(`), or the `Style::parseCssStyle()` should check the content of the `font-family` and prevents it to use a PHAR url, to avoid passing an invalid and dangerous `fontName` value to other libraries. The same check as done in the `Style::fromStyleSheets` might be reused. Libraries using this library as a dependency might be vulnerable to some bypass of restrictions, or even remote code execution, if they do not double check the value of the `fontName` that is passed by php-svg-lib. Version 0.5.2 contains a fix for this issue.
Github GHSA Github GHSA GHSA-f3qr-qr4x-j273 php-svg-lib lacks path validation on font through SVG inline styles
History
Type Values Removed Values Added
Metrics epss

{'score': 0.00187}

epss

{'score': 0.00254}

Type Values Removed Values Added
First Time appeared Dompdf
Dompdf php-svg-lib
Php
Php php
Weaknesses CWE-610
CPEs cpe:2.3:a:dompdf:php-svg-lib:*:*:*:*:*:*:*:*
cpe:2.3:a:php:php:*:*:*:*:*:*:*:*
Vendors & Products Dompdf
Dompdf php-svg-lib
Php
Php php
Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Aug 28, 2024, 5:57 PM
Reserved
Feb 5, 2024, 2:14 PM
Status
Analyzed
Published
Feb 21, 2024, 5:15 PM
Modified
Jun 17, 2026, 7:15 AM