Miggo Logo

GHSA-f75p-x5vm-83qp: symfony/translation XML Entity Expansion vulnerability

7.5

CVSS Score
3.1

Basic Information

CVE ID
-
EPSS Score
-
Published
5/30/2024
Updated
5/30/2024
KEV Status
No
Technology
TechnologyPHP

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
symfony/translationcomposer>= 2.0.0, < 2.0.172.0.17

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from how XML parsing was implemented in XliffFileLoader.php. The original code used DOMDocument::load() with LIBXML_NONET, which prevents network access but does not mitigate internal entity expansion. PHP lacks native methods to disable internal entity processing, making the parser inherently vulnerable to quadratic blowup attacks when expanding repeated large entities. The patch addressed this by adding libxml_disable_entity_loader(true) and switching to loadXML() with file_get_contents(), but the pre-patch implementation remained exposed to in-memory entity expansion attacks.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

Sym*ony *.*.** **rri** * [simil*r] XX* s**urity *ix, *ow*v*r, on r*vi*w o* Z** I *lso not** * vuln*r**ility to XML *ntity *xp*nsion (X**) *tt**ks w**r**y *ll *xt*nsions m*kin* us* o* li*xml* **v* no ****ns* ***inst X** Qu**r*ti* *lowup *tt**ks. T** v

Reasoning

T** vuln*r**ility st*ms *rom *ow XML p*rsin* w*s impl*m*nt** in Xli***il*Lo***r.p*p. T** ori*in*l *o** us** *OM*o*um*nt::lo**() wit* LI*XML_NON*T, w*i** pr*v*nts n*twork ****ss *ut *o*s not miti**t* int*rn*l *ntity *xp*nsion. P*P l**ks n*tiv* m*t*o*s