CVE-2026-22256

Salvo is vulnerable to reflected XSS in the list_html function

Published Jan 8, 2026 CVSS 3.1 · 8.8 High EPSS < 1% KEV · Not listed
Description
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-rjf8-2wcw-f6mp Salvo is vulnerable to reflected XSS in the list_html function
History
Type Values Removed Values Added
First Time appeared Salvo
Salvo salvo
CPEs cpe:2.3:a:salvo:salvo:*:*:*:*:*:rust:*:*
Vendors & Products Salvo
Salvo salvo
Type Values Removed Values Added
First Time appeared Salvo-rs
Salvo-rs salvo
Vendors & Products Salvo-rs
Salvo-rs salvo
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description 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.
Title Salvo is vulnerable to reflected XSS in the list_html function
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:L'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jan 8, 2026, 6:39 PM
Reserved
Jan 7, 2026, 5:19 AM
Status
Analyzed
Published
Jan 8, 2026, 7:16 PM
Modified
Jun 17, 2026, 10:19 AM