Salvo Web Framework Reflected Cross-Site Scripting Vulnerability

Vulnerability

A reflected cross-site scripting vulnerability has been identified in the Salvo web backend framework for Rust, affecting versions through 0.88.0. The issue arises in the 'list_html' function, which generates a file view of a folder. The current path is inserted into the HTML without proper sanitization, allowing for the execution of JavaScript. This vulnerability can be exploited by having a subdirectory in the root path, which triggers the directory listing instead of a 'Not Found' page.

Impact

Exploitation of this vulnerability allows for the execution of JavaScript in the victim's browser, which could lead to an account takeover, depending on the site's security constraints such as Content Security Policy.

Reproduction

To reproduce this vulnerability, create a directory structure with a subfolder under 'uploads'. Then, use a Salvo server application that serves static files from the 'uploads' directory. When the 'files' route is accessed, the 'list_html' function will be called, inserting the current path into the HTML without proper sanitization. This allows for the execution of injected JavaScript.

Remediation

Users can upgrade to Salvo version 0.88.1 or later, where this vulnerability has been patched.

Added: Jan 8, 2026, 7:36 PM
Updated: Jan 8, 2026, 7:36 PM

Vulnerability Rating

Custom Algorithm
spread
0.0
impact
1.7
exploitability
7.7
remediation
7.7
relevance
1.9
threat
6.4
urgency
2.9
incentive
1.7

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.