Skip to content

Commit f0cee0b

Browse files
HSEC-2023-0008: Stored XSS in hledger-web
1 parent 06fbe0b commit f0cee0b

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
```toml
2+
[advisory]
3+
id = "HSEC-2023-0008"
4+
cwe = [87]
5+
keywords = ["web", "xss"]
6+
aliases = ["CVE-2021-46888"]
7+
8+
[[affected]]
9+
package = "hledger-web"
10+
cvss = "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N"
11+
[[affected.versions]]
12+
introduced = "0.24"
13+
fixed = "1.23"
14+
15+
[[references]]
16+
type = "REPORT"
17+
url = "https://github.com/simonmichael/hledger/issues/1525"
18+
[[references]]
19+
type = "INTRODUCED"
20+
url = "https://github.com/simonmichael/hledger/commit/ec51d28839b2910eea360b1b8c72904b51cf7821"
21+
[[references]]
22+
type = "EVIDENCE"
23+
url = "https://www.youtube.com/watch?v=QnRO-VkfIic"
24+
[[references]]
25+
type = "FIX"
26+
url = "https://github.com/simonmichael/hledger/pull/1663"
27+
28+
```
29+
30+
# Stored XSS in *hledger-web*
31+
32+
An issue was discovered in *hledger-web* < 1.23. A Stored Cross-Site
33+
Scripting (XSS) vulnerability exists in `toBloodhoundJson` that
34+
allows an attacker to execute JavaScript by encoding user-controlled
35+
values in a payload with base64 and parsing them with the `atob`
36+
function.
37+
38+
*hledger-web* forms sanitise obvious JavaScript, but not obfuscated
39+
JavaScript (see [OWASP Filter Evasion Cheat Sheet][cheatsheet]).
40+
This means *hledger-web* instances, especially anonymously-writable
41+
ones like `demo.hledger.org`, could be loaded with malicious
42+
JavaScript to be executed by subsequent visitors.
43+
44+
[cheatsheet]: https://owasp.org/www-community/xss-filter-evasion-cheatsheet
45+
46+
Reported by Gaspard Baye and Hamidullah Muslih. Fix by Arsen
47+
Arsenović.

0 commit comments

Comments
 (0)