CVE-2024-40626

7.3 HIGH

📋 TL;DR

This is a stored cross-site scripting (XSS) vulnerability in Outline's document editor that allows authenticated users to inject malicious JavaScript into documents. When other users view these documents, the JavaScript executes within Outline's origin, potentially compromising user sessions and data. The vulnerability is particularly dangerous in self-hosted deployments where file storage shares the same domain as Outline, allowing CSP bypass.

💻 Affected Systems

Products:
  • Outline
Versions: All versions before 0.77.3
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Self-hosted deployments with file storage on the same domain as Outline are most vulnerable due to CSP bypass possibilities.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker could steal authentication tokens, hijack user sessions, perform actions as authenticated users, exfiltrate sensitive document data, or deploy ransomware within the Outline environment.

🟠

Likely Case

Attackers with authenticated access could embed malicious scripts in documents to steal session cookies, redirect users to phishing sites, or perform limited actions within the compromised user's context.

🟢

If Mitigated

With proper CSP rules and separate domains for file storage, the attack surface is reduced, but authenticated users could still execute limited JavaScript within document contexts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated user access to create malicious documents. The advisory provides technical details but no public exploit code.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.77.3

Vendor Advisory: https://github.com/outline/outline/security/advisories/GHSA-888c-mvg8-v6wh

Restart Required: Yes

Instructions:

1. Backup your Outline instance and database. 2. Update to version 0.77.3 or later using your deployment method (Docker, manual, etc.). 3. Restart the Outline service. 4. Verify the update was successful.

🔧 Temporary Workarounds

No official workarounds

all

The vendor states there are no known workarounds for this vulnerability.

🧯 If You Can't Patch

  • Restrict document creation and editing permissions to trusted users only
  • Implement Content Security Policy with strict directives and separate file storage domain

🔍 How to Verify

Check if Vulnerable:

Check your Outline version via the admin interface or by inspecting the application metadata. If version is below 0.77.3, you are vulnerable.

Check Version:

Check the Outline admin dashboard or inspect the application's HTTP headers for version information.

Verify Fix Applied:

Confirm the Outline version is 0.77.3 or higher in the admin interface or application metadata.

📡 Detection & Monitoring

Log Indicators:

  • Unusual document creation patterns
  • Multiple users accessing the same malicious document
  • JavaScript errors in browser console logs

Network Indicators:

  • Unexpected outbound connections from Outline to external domains
  • Large data exfiltration from document viewing sessions

SIEM Query:

Search for document creation events followed by multiple user access events within short timeframes, or look for base64-encoded JavaScript in document content.

🔗 References

📤 Share & Export