Описание
auditor-bundle vulnerable to Cross-site Scripting because name of entity does not get escaped
Summary
Unescaped entity property enables Javascript injection.
Details
I think this is possible because %source_label% in twig macro is not escaped. Therefore script tags can be inserted and are executed.
PoC
- clone example project https://github.com/DamienHarper/auditor-bundle-demo
- create author with FullName
- delete author
- view audit of authors
- alert is displayed
Impact
persistent XSS. JS can be injected and executed.
Ссылки
- https://github.com/DamienHarper/auditor-bundle/security/advisories/GHSA-78vg-7v27-hj67
- https://nvd.nist.gov/vuln/detail/CVE-2024-45592
- https://github.com/DamienHarper/auditor-bundle/commit/42ba2940d8b99467de0c806ea5655cc1c6882cd1
- https://github.com/DamienHarper/auditor-bundle/commit/e7deb377fa89677d44973b486d26d6a7374233ae
Пакеты
damienharper/auditor-bundle
< 5.2.6
5.2.6
Связанные уязвимости
auditor-bundle, formerly known as DoctrineAuditBundle, integrates auditor library into any Symfony 3.4+ application. Prior to version 5.2.6, there is an unescaped entity property enabling Javascript injection. This is possible because `%source_label%` in twig macro is not escaped. Therefore script tags can be inserted and are executed. The vulnerability is fixed in versions 6.0.0 and 5.2.6.