CVE-2025-40706

5.4 MEDIUM

📋 TL;DR

A stored Cross-Site Scripting (XSS) vulnerability in OpenAtlas v8.9.0 allows remote attackers to inject malicious scripts via the 'name' parameter in POST requests to '/insert/source'. This could enable session hijacking by stealing authenticated users' cookies. All users running the vulnerable version are affected.

💻 Affected Systems

Products:
  • OpenAtlas
Versions: v8.9.0
Operating Systems: Any
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects OpenAtlas instances with the vulnerable '/insert/source' endpoint accessible.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete account takeover through session cookie theft, leading to unauthorized access, data manipulation, or privilege escalation within the OpenAtlas application.

🟠

Likely Case

Session hijacking of authenticated users, potentially allowing attackers to perform actions as the victim within the application.

🟢

If Mitigated

Limited impact with proper input validation and output encoding, potentially reduced to minor UI disruption.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires the attacker to trick an authenticated user into visiting a malicious page or submitting crafted data.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: https://www.incibe.es/en/incibe-cert/notices/aviso/multiple-cross-site-scripting-xss-vulnerabilities-openatlas-acdh-ch

Restart Required: No

Instructions:

1. Monitor the OpenAtlas GitHub repository for security updates. 2. Apply the official patch when available. 3. Test in a non-production environment first.

🔧 Temporary Workarounds

Input Validation and Output Encoding

all

Implement server-side validation and HTML encoding for the 'name' parameter in '/insert/source' endpoint.

Web Application Firewall (WAF) Rules

all

Deploy WAF rules to block XSS payloads targeting the vulnerable parameter.

🧯 If You Can't Patch

  • Restrict access to the OpenAtlas application to trusted networks only.
  • Implement Content Security Policy (CSP) headers to mitigate script execution.

🔍 How to Verify

Check if Vulnerable:

Test by submitting a script payload (e.g., <script>alert('XSS')</script>) to the 'name' parameter in a POST request to '/insert/source' and check if it executes.

Check Version:

Check the OpenAtlas version in the application interface or configuration files.

Verify Fix Applied:

After applying fixes, repeat the test to ensure script payloads are properly sanitized or blocked.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to '/insert/source' with script-like content in parameters.
  • Multiple failed login attempts following suspicious requests.

Network Indicators:

  • HTTP traffic containing script tags or JavaScript in POST parameters to the vulnerable endpoint.

SIEM Query:

source="web_server" AND url="/insert/source" AND (param="name" AND value MATCHES "<script.*>.*</script>" OR "javascript:")

🔗 References

📤 Share & Export