CVE-2019-25448

6.4 MEDIUM

📋 TL;DR

OrientDB 3.0.17 contains a stored cross-site scripting vulnerability where authenticated attackers can inject malicious JavaScript by creating users with script payloads in the name field. When other users view the application, the scripts execute in their browser context. This affects all OrientDB deployments running the vulnerable version with user creation enabled.

💻 Affected Systems

Products:
  • OrientDB
Versions: 3.0.17
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires authenticated access to create users. All deployments with user creation functionality are vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal session cookies, perform actions as authenticated users, redirect to malicious sites, or deploy ransomware through the application interface.

🟠

Likely Case

Session hijacking, credential theft, and unauthorized actions performed in the context of legitimate users.

🟢

If Mitigated

Limited impact with proper input validation and output encoding, though some data exposure may still occur.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploit requires authenticated access but is trivial to execute with valid credentials.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.0.18 and later

Vendor Advisory: https://orientdb.dev/

Restart Required: Yes

Instructions:

1. Backup your database. 2. Download OrientDB 3.0.18 or later from official sources. 3. Stop OrientDB service. 4. Replace the installation with patched version. 5. Restart OrientDB service. 6. Verify functionality.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement server-side input validation to sanitize user creation parameters

Implement custom middleware to validate/sanitize name parameter before processing

Disable User Creation

all

Temporarily disable user creation functionality for non-admin users

Modify OrientDB configuration to restrict user creation to administrators only

🧯 If You Can't Patch

  • Implement WAF rules to block POST requests with JavaScript patterns in name parameter
  • Enable Content Security Policy headers to restrict script execution

🔍 How to Verify

Check if Vulnerable:

Check OrientDB version: if running 3.0.17, you are vulnerable. Test by attempting to create user with <script>alert('test')</script> in name field.

Check Version:

orientdb --version or check server startup logs

Verify Fix Applied:

After patching, attempt the same XSS payload in user creation. It should be sanitized or rejected.

📡 Detection & Monitoring

Log Indicators:

  • POST requests to /document endpoint with script tags in parameters
  • User creation logs containing JavaScript patterns

Network Indicators:

  • HTTP POST requests with suspicious content in name parameter
  • Outbound connections to unknown domains after user creation

SIEM Query:

source="orientdb" AND (method="POST" AND uri="/document" AND (param="*<script>*" OR param="*javascript:*"))

🔗 References

📤 Share & Export