CVE-2025-14691

4.3 MEDIUM

📋 TL;DR

This vulnerability allows attackers to inject malicious scripts into Mayan EDMS web interface through the /authentication/ endpoint. When exploited, it enables cross-site scripting attacks that can steal user sessions, redirect users, or deface the application. All Mayan EDMS deployments up to version 4.10.1 are affected.

💻 Affected Systems

Products:
  • Mayan EDMS
Versions: Up to and including 4.10.1
Operating Systems: All platforms running Mayan EDMS
Default Config Vulnerable: ⚠️ Yes
Notes: All installations with the vulnerable /authentication/ endpoint are affected regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers steal administrator credentials, gain full control of the EDMS system, and exfiltrate all stored documents and metadata.

🟠

Likely Case

Attackers steal user session cookies to impersonate legitimate users, potentially accessing sensitive documents and performing unauthorized actions.

🟢

If Mitigated

With proper input validation and output encoding, the attack fails to execute malicious scripts, limiting impact to attempted exploitation logs.

🌐 Internet-Facing: HIGH - Remote exploitation possible, public exploit available, and XSS can lead to complete system compromise through credential theft.
🏢 Internal Only: MEDIUM - Internal attackers could still exploit to escalate privileges or move laterally within the network.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Public proof-of-concept available on GitHub, remote exploitation confirmed, and attack requires minimal technical skill.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 4.10.2

Vendor Advisory: https://docs.mayan-edms.com/chapters/releases/4.10.2.html#security

Restart Required: Yes

Instructions:

1. Backup your Mayan EDMS installation and database. 2. Upgrade to version 4.10.2 using pip: 'pip install mayan-edms==4.10.2'. 3. Restart the Mayan EDMS service. 4. Verify the upgrade completed successfully.

🔧 Temporary Workarounds

Web Application Firewall (WAF) Rules

all

Implement WAF rules to block XSS payloads targeting /authentication/ endpoint

Content Security Policy

all

Implement strict CSP headers to prevent script execution from untrusted sources

🧯 If You Can't Patch

  • Implement network segmentation to restrict access to Mayan EDMS only to trusted users
  • Enable strict input validation and output encoding for all user-controllable inputs

🔍 How to Verify

Check if Vulnerable:

Check Mayan EDMS version: if version <= 4.10.1, system is vulnerable. Test by attempting XSS payload injection at /authentication/ endpoint.

Check Version:

python -c "import mayan; print(mayan.__version__)" or check Mayan EDMS admin interface

Verify Fix Applied:

Confirm version is 4.10.2 or higher. Test that XSS payloads no longer execute when injected into /authentication/ endpoint.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST/GET requests to /authentication/ with script tags or JavaScript payloads
  • Multiple failed authentication attempts with suspicious parameters

Network Indicators:

  • HTTP requests containing <script>, javascript:, or other XSS payloads targeting /authentication/

SIEM Query:

source="mayan_edms" AND (uri_path="/authentication/" AND (request_body CONTAINS "<script>" OR request_body CONTAINS "javascript:"))

🔗 References

📤 Share & Export