XSS in Salvo

CVE-2026-22256

Salvo is a Rust web backend framework. Prior to version 0.88.1, the function list_html generate an file view of a folder which include a render of the current path, in which its inserted in the HTML without proper sanitation, this leads to reflected XSS using the fact that request path is decoded and normalized in the matching stage but not is inserted raw in the html view (current.path), the only constraint here is for the root path (eg. /files in the PoC example) to have a sub directory (e.g common ones styles/scripts/etc…) so that the matching return the list HTML page instead of the Not Found page. This issue has been patched in version 0.88.1.

Vulnerability class: XSS (Cross-Site Scripting)

EPSS: 0.003 (22.2th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 8.8 (High). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:L.

Affected products

Weakness classification (CWE)

References

Frequently asked questions

What is CVE-2026-22256?
CVE-2026-22256 is a high-severity vulnerability in Salvo, classified under Cross-site Scripting. CVSS score: 8.8/10. Published 2026-01-08.
How severe is CVE-2026-22256?
High severity. CVSS v3 base score is 8.8 out of 10.