damienharper/auditor-bundle · Security
auditor-bundle vulnerable to Cross-site Scripting because name of entity does not get escaped
- GHSA ID
- GHSA-78vg-7v27-hj67
- CVE ID
- CVE-2024-45592
- Severity
- medium
- Published
- Updated
- CVSS
- 8.2 · CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:L
- CVSS v3
- 8.2 · CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:L
- CVSS v4
- 6.3 · CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:H/SI:L/SA:L
Description
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 alert()
- delete author
- view audit of authors
- alert is displayed
Impact
persistent XSS. JS can be injected and executed.
CWEs
- CWE-79 · Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
References
- https://github.com/DamienHarper/auditor-bundle/security/advisories/GHSA-78vg-7v27-hj67 ↗
- https://github.com/DamienHarper/auditor-bundle/commit/42ba2940d8b99467de0c806ea5655cc1c6882cd1 ↗
- https://nvd.nist.gov/vuln/detail/CVE-2024-45592 ↗
- https://github.com/DamienHarper/auditor-bundle/commit/e7deb377fa89677d44973b486d26d6a7374233ae ↗
- https://github.com/advisories/GHSA-78vg-7v27-hj67 ↗