Miggo Logo

CVE-2015-2308: Symfony Vulnerable to PHP Eval Injection

N/A

CVSS Score

Basic Information

EPSS Score
0.66718%
Published
5/17/2022
Updated
4/25/2024
KEV Status
No
Technology
TechnologyPHP

Technical Details

CVSS Vector
-
Package NameEcosystemVulnerable VersionsFirst Patched Version
symfony/symfonycomposer>= 2.0.0, < 2.3.272.3.27
symfony/symfonycomposer>= 2.4.0, < 2.5.112.5.11
symfony/symfonycomposer>= 2.6.0, < 2.6.62.6.6
symfony/http-kernelcomposer>= 2.0.0, < 2.3.272.3.27
symfony/http-kernelcomposer>= 2.4.0, < 2.5.112.5.11
symfony/http-kernelcomposer>= 2.6.0, < 2.6.62.6.6

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from the HttpCache's use of eval() to process ESI tags. The Esi::process() method was responsible for handling ESI includes and generating PHP code for evaluation. The pre-patch implementation used str_replace() with limited escaping, failing to neutralize <script language="php"> tags. This allowed attackers to inject executable PHP code via user-submitted input. The commit diff shows the fix introduced a phpEscapeMap to properly escape dangerous tags, confirming the vulnerability was in the processing logic of this method.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

*ppli**tions wit* *SI support (*n* SSI support *s o* Sym*ony *.*) *n**l** *n* usin* t** Sym*ony *uilt-in r*v*rs* proxy (t** `Sym*ony\*ompon*nt\*ttpK*rn*l\*ttp***** *l*ss) *r* vuln*r**l* to P*P *o** inj**tion; * m*li*ious us*r **n inj**t P*P *o** t**t

Reasoning

T** vuln*r**ility st*ms *rom t** *ttp*****'s us* o* *v*l() to pro**ss *SI t**s. T** *si::pro**ss() m*t*o* w*s r*sponsi*l* *or **n*lin* *SI in*lu**s *n* **n*r*tin* P*P *o** *or *v*lu*tion. T** pr*-p*t** impl*m*nt*tion us** str_r*pl***() wit* limit** *