Symfony Vulnerable to PHP Eval Injection
Published 17 May 2022 · Updated 8 Dec 2024
Affected packages
- Affected
- >=2.0.0 <2.3.27
- Fixed in
- 2.3.27
composer require symfony/symfony:^2.3.27- Affected
- >=2.4.0 <2.5.11
- Fixed in
- 2.5.11
composer require symfony/symfony:^2.5.11- Affected
- >=2.6.0 <2.6.6
- Fixed in
- 2.6.6
composer require symfony/symfony:^2.6.6- Affected
- >=2.0.0 <2.3.27
- Fixed in
- 2.3.27
composer require symfony/http-kernel:^2.3.27- Affected
- >=2.4.0 <2.5.11
- Fixed in
- 2.5.11
composer require symfony/http-kernel:^2.5.11- Affected
- >=2.6.0 <2.6.6
- Fixed in
- 2.6.6
composer require symfony/http-kernel:^2.6.6Details
Applications with ESI support (and SSI support as of Symfony 2.6) enabled and using the Symfony built-in reverse proxy (the `Symfony\Component\HttpKernel\HttpCache class) are vulnerable to PHP code injection; a malicious user can inject PHP code that will be executed by the server.
HttpCache uses eval() to execute files in its cache when they contain ESI tags (and only when ESI is enabled). The vulnerability comes from the fact that PHP allows contents of <script language="php"> tags to be executed (and this kind of PHP tags is always available regardless of the configuration), but there were not escaped before the evaluation.
A possible exploit comes from websites also vulnerable to Cross-Site Scripting as an attacker can successfully conduct a PHP code injection attack by passing such a tag in a user submitted variable (for which proper output escaping was not applied).
Is GHSA-5c58-w9xc-qcj9 in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected symfony/symfony, and gives you the command that fixes it.
References
- Advisorynvd.nist.gov/vuln/detail/CVE-2015-2308
- Linkgithub.com/symfony/symfony/pull/14167/commits/195c57e1f50765aff33137689b16e126a689056a
- Linkgithub.com/FriendsOfPHP/security-advisories/blob/master/symfony/http-kernel/CVE-2015-2308.yaml
- Linkgithub.com/FriendsOfPHP/security-advisories/blob/master/symfony/symfony/CVE-2015-2308.yaml
- Packagegithub.com/symfony/symfony
- Linksymfony.com/blog/cve-2015-2308-esi-code-injection
- Linksymfony.com/cve-2015-2308
- Linkweb.archive.org/web/20200228084751/http://www.securityfocus.com/bid/75357
- Linkjvn.jp/en/jp/JVN19578958/index.html
- Linkjvndb.jvn.jp/jvndb/JVNDB-2015-000089
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.