
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2025-58351 is a stored Cross-Site Scripting (XSS) vulnerability in Outline, an open-source collaborative documentation platform, caused by a Content Security Policy (CSP) and ContentType bypass in its local file storage feature. It affects self-hosted Outline instances running versions 0.72.0 through 0.83.0 with FILE_STORAGE=local configured on the same domain as the application. The vulnerability was discovered during a routine security audit and publicly disclosed on September 2–3, 2025, with a fix released in version 0.84.0. It carries a CVSS v3.1 base score of 6.8 (Medium) (GitHub Advisory, Feedly).
The root cause is improper neutralization of input during web page generation (CWE-79), specifically arising from the files.get API endpoint in the local storage plugin (plugins/storage/server/api/files.ts) failing to include a restrictive Content-Security-Policy header on file responses. Because uploaded files are served from the same origin as the Outline application, a malicious file attachment with an executable content type (ContentType bypass) could be served without CSP sandboxing, allowing embedded scripts to execute in the browser context of any user who accesses the file. The fix, applied in commit 18bc93c, adds a single Content-Security-Policy: sandbox header to all responses from the files.get endpoint, preventing script execution (GitHub Commit, GitHub Advisory). Exploitation requires the attacker to have low-level authenticated access and a victim user to interact with the malicious file.
Successful exploitation allows an authenticated attacker with low privileges to execute arbitrary scripts within the browser session of another user, enabling session hijacking, credential theft, or unauthorized actions performed on behalf of the victim. The confidentiality impact is rated High due to the potential for sensitive document content and session tokens to be exfiltrated. Integrity and availability are not directly impacted by this vulnerability. The scope is changed, meaning the attack crosses the security boundary from the attacker's session into another user's browser context (GitHub Advisory, Feedly).
As of the disclosure date, there is no public proof-of-concept exploit and no evidence of in-the-wild exploitation (Feedly). The EPSS score is approximately 0.03%, reflecting a low probability of near-term exploitation. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation is limited to self-hosted Outline deployments using FILE_STORAGE=local on the same domain, which reduces the overall attack surface compared to cloud-hosted instances.
FILE_STORAGE=local and serving uploaded files from the same domain as the application.<script> tag with a malicious payload such as a cookie stealer or session token exfiltrator) that will be interpreted as executable by the browser.files.get endpoint without a Content-Security-Policy: sandbox header.files.get endpoint (/api/files.get or equivalent) for HTML or script-type files uploaded by low-privilege users; repeated access to the same file URL by multiple different user accounts..html, .svg, or other browser-executable file types in the Outline local file storage directory that were uploaded by non-administrative users.The primary remediation is to upgrade Outline to version 0.84.0 or later, which adds Content-Security-Policy: sandbox to all responses from the files.get endpoint (GitHub Release). For deployments that cannot upgrade immediately, a workaround is to configure a reverse proxy in front of Outline to inject the Content-Security-Policy: sandbox header on all responses from the file serving endpoint (GitHub Advisory). Alternatively, switching from FILE_STORAGE=local to an external storage provider (e.g., S3) on a separate domain eliminates the same-origin attack surface entirely. Administrators should also review uploaded files for suspicious executable content and restrict file upload permissions where possible.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."