CVE-2026-22256: CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in salvo-rs salvo
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.
AI Analysis
Technical Summary
CVE-2026-22256 is a reflected Cross-Site Scripting (XSS) vulnerability classified under CWE-79, found in the Salvo Rust web backend framework before version 0.88.1. The vulnerability exists in the list_html function, which generates an HTML view of a folder's contents. This function inserts the current request path into the HTML output without proper sanitization, allowing malicious input to be reflected in the response. The request path is decoded and normalized during routing but is inserted directly into the HTML view, enabling attackers to craft URLs that inject arbitrary JavaScript code. The vulnerability requires that the root path has a subdirectory to trigger the listing page instead of a 404 Not Found page. Exploitation is possible remotely without authentication but requires user interaction to visit the malicious URL. The CVSS v3.1 score is 8.8 (high), reflecting network attack vector, low attack complexity, no privileges required, user interaction required, and a scope change with high confidentiality impact, limited integrity impact, and low availability impact. Although no known exploits are reported in the wild yet, the vulnerability poses a significant risk for web applications using affected Salvo versions. The issue has been fixed in version 0.88.1 by properly sanitizing the path input before rendering it in HTML.
Potential Impact
For European organizations, this vulnerability can lead to the execution of arbitrary JavaScript in the context of affected web applications, potentially exposing sensitive user data such as session tokens, personal information, or enabling phishing attacks. The reflected XSS can also be leveraged to perform actions on behalf of authenticated users, leading to partial integrity compromise. Availability impact is low but possible through script-based attacks causing client-side disruptions. Organizations using Salvo in public-facing web services, especially those exposing directory listings or file views, are at risk. This can affect sectors like finance, healthcare, and government where web applications handle sensitive data. The vulnerability's ease of exploitation and high confidentiality impact make it a critical concern for maintaining trust and compliance with European data protection regulations such as GDPR.
Mitigation Recommendations
The primary mitigation is to upgrade all Salvo framework instances to version 0.88.1 or later, where the vulnerability is patched. Additionally, organizations should audit any custom HTML rendering code that inserts user-controlled input, ensuring proper output encoding and sanitization to prevent XSS. Implement Content Security Policy (CSP) headers to reduce the impact of potential XSS attacks. Web Application Firewalls (WAFs) can be configured to detect and block suspicious request patterns targeting path parameters. Regular security testing, including automated scanning and manual code reviews focusing on input handling, should be integrated into the development lifecycle. Finally, educate developers about secure coding practices related to input validation and output encoding in web applications.
Affected Countries
Germany, France, United Kingdom, Netherlands, Sweden, Finland, Denmark, Poland, Italy, Spain
CVE-2026-22256: CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in salvo-rs salvo
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.
AI-Powered Analysis
Technical Analysis
CVE-2026-22256 is a reflected Cross-Site Scripting (XSS) vulnerability classified under CWE-79, found in the Salvo Rust web backend framework before version 0.88.1. The vulnerability exists in the list_html function, which generates an HTML view of a folder's contents. This function inserts the current request path into the HTML output without proper sanitization, allowing malicious input to be reflected in the response. The request path is decoded and normalized during routing but is inserted directly into the HTML view, enabling attackers to craft URLs that inject arbitrary JavaScript code. The vulnerability requires that the root path has a subdirectory to trigger the listing page instead of a 404 Not Found page. Exploitation is possible remotely without authentication but requires user interaction to visit the malicious URL. The CVSS v3.1 score is 8.8 (high), reflecting network attack vector, low attack complexity, no privileges required, user interaction required, and a scope change with high confidentiality impact, limited integrity impact, and low availability impact. Although no known exploits are reported in the wild yet, the vulnerability poses a significant risk for web applications using affected Salvo versions. The issue has been fixed in version 0.88.1 by properly sanitizing the path input before rendering it in HTML.
Potential Impact
For European organizations, this vulnerability can lead to the execution of arbitrary JavaScript in the context of affected web applications, potentially exposing sensitive user data such as session tokens, personal information, or enabling phishing attacks. The reflected XSS can also be leveraged to perform actions on behalf of authenticated users, leading to partial integrity compromise. Availability impact is low but possible through script-based attacks causing client-side disruptions. Organizations using Salvo in public-facing web services, especially those exposing directory listings or file views, are at risk. This can affect sectors like finance, healthcare, and government where web applications handle sensitive data. The vulnerability's ease of exploitation and high confidentiality impact make it a critical concern for maintaining trust and compliance with European data protection regulations such as GDPR.
Mitigation Recommendations
The primary mitigation is to upgrade all Salvo framework instances to version 0.88.1 or later, where the vulnerability is patched. Additionally, organizations should audit any custom HTML rendering code that inserts user-controlled input, ensuring proper output encoding and sanitization to prevent XSS. Implement Content Security Policy (CSP) headers to reduce the impact of potential XSS attacks. Web Application Firewalls (WAFs) can be configured to detect and block suspicious request patterns targeting path parameters. Regular security testing, including automated scanning and manual code reviews focusing on input handling, should be integrated into the development lifecycle. Finally, educate developers about secure coding practices related to input validation and output encoding in web applications.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-01-07T05:19:12.922Z
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 695ffd5601d35e5d0c85d73b
Added to database: 1/8/2026, 6:54:14 PM
Last enriched: 1/8/2026, 7:08:54 PM
Last updated: 1/10/2026, 10:16:39 PM
Views: 40
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Related Threats
CVE-2026-0824: Cross Site Scripting in questdb ui
MediumCVE-2025-13393: CWE-918 Server-Side Request Forgery (SSRF) in marceljm Featured Image from URL (FIFU)
MediumCVE-2025-12379: CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in averta Shortcodes and extra features for Phlox theme
MediumCVE-2026-0822: Heap-based Buffer Overflow in quickjs-ng quickjs
MediumCVE-2026-0821: Heap-based Buffer Overflow in quickjs-ng quickjs
MediumActions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console in Console -> Billing for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.