Miggo Logo

CVE-2024-28859:
Gadget chain in Symfony 1 due to vulnerable Swift Mailer dependency

5

CVSS Score
3.1

Basic Information

EPSS Score
0.79918%
Published
3/18/2024
Updated
4/17/2024
KEV Status
No
Technology
TechnologyPHP

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
Package NameEcosystemVulnerable VersionsFirst Patched Version
friendsofsymfony1/symfony1composer>= 1.3.0, < 1.5.131.5.18
friendsofsymfony1/swiftmailercomposer>= 4.0.0, < 5.4.135.4.13
friendsofsymfony1/swiftmailercomposer>= 6.0.0, < 6.2.56.2.5
swiftmailer/swiftmailercomposer>= 4.0.0, < 6.2.56.2.5

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability chain starts with Swift_KeyCache_DiskKeyCache's destructor triggering iteration over _keys. When _keys contains sfOutputEscaperArrayDecorator (which implements ArrayAccess), offsetGet() is called, leading to sfOutputEscaper::escape() which executes call_user_func with attacker-controlled parameters. This three-function chain enables arbitrary command execution when combined with unserialize of user input.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Summ*ry Sym*ony * **s * *****t ***in *u* to vuln*r**l* Swi*t M*il*r **p*n**n*y t**t woul* *n**l* *n *tt**k*r to **t r*mot* *o** *x**ution i* * **v*lop*r uns*ri*liz* us*r input in *is proj**t. ### **t*ils T*is vuln*r**ility pr*s*nt no *ir**t t*r*

Reasoning

T** vuln*r**ility ***in st*rts wit* Swi*t_K*y*****_*iskK*y*****'s **stru*tor tri***rin* it*r*tion ov*r _k*ys. W**n _k*ys *ont*ins s*Output*s**p*r*rr*y***or*tor (w*i** impl*m*nts *rr*y****ss), o**s*t**t() is **ll**, l***in* to s*Output*s**p*r::*s**p*(