Stored XSS in hledger-web
An issue was discovered in hledger-web < 1.23. A Stored
Cross-Site Scripting (XSS) vulnerability exists in
toBloodhoundJson
that allows an attacker to execute
JavaScript by encoding user-controlled values in a payload with base64
and parsing them with the atob
function.
hledger-web forms sanitise obvious JavaScript, but not
obfuscated JavaScript (see OWASP
Filter Evasion Cheat Sheet). This means hledger-web
instances, especially anonymously-writable ones like
demo.hledger.org
, could be loaded with malicious JavaScript
to be executed by subsequent visitors.
Reported by Gaspard Baye and Hamidullah Muslih. Fix by Arsen Arsenović.
Info
- Published
- July 22, 2023
- Modified
- July 22, 2023
- CAPECs
- < none >
- CWEs
- 87
- Keywords
- web, xss, historical
- Aliases
- CVE-2021-46888
- Related
- < none >
- References
- [REPORT] https://github.com/simonmichael/hledger/issues/1525
- [INTRODUCED] https://github.com/simonmichael/hledger/commit/ec51d28839b2910eea360b1b8c72904b51cf7821
- [EVIDENCE] https://www.youtube.com/watch?v=QnRO-VkfIic
- [FIX] https://github.com/simonmichael/hledger/pull/1663
Affected
hledger-web
- CVSS
- CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
- Versions
>=0.24 && <1.23
- Declarations
- < none >