CVE-2023-46502

9.8 CRITICAL

📋 TL;DR

This vulnerability in openCRX v5.2.2 allows remote attackers to read internal files and perform server-side request forgery (SSRF) attacks due to insecure DocumentBuilderFactory configuration. Attackers can exploit this to access sensitive data and make unauthorized requests from the server. All openCRX v5.2.2 installations are affected.

💻 Affected Systems

Products:
  • openCRX
Versions: v5.2.2
Operating Systems: All platforms running openCRX
Default Config Vulnerable: ⚠️ Yes
Notes: All installations of openCRX v5.2.2 are vulnerable by default. No special configuration required.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise including sensitive data exfiltration, internal network reconnaissance, and potential lateral movement within the network.

🟠

Likely Case

Unauthorized access to internal files containing configuration data, credentials, or sensitive business information, plus ability to make requests to internal services.

🟢

If Mitigated

Limited impact with proper network segmentation and file system permissions, though SSRF capabilities may still allow some internal probing.

🌐 Internet-Facing: HIGH - Remote attackers can exploit this without authentication to access internal resources.
🏢 Internal Only: HIGH - Even internally accessible instances can be exploited by malicious insiders or compromised accounts.

🎯 Exploit Status

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

Proof of concept code is publicly available in GitHub gists. Exploitation requires minimal technical skill.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in commit ce7a71db0bb34ecbcb0e822d40598e410a48b399

Vendor Advisory: https://github.com/opencrx/opencrx/commit/ce7a71db0bb34ecbcb0e822d40598e410a48b399

Restart Required: Yes

Instructions:

1. Update to the latest openCRX version containing the fix. 2. Apply the patch from commit ce7a71db0bb34ecbcb0e822d40598e410a48b399. 3. Restart the openCRX application server.

🔧 Temporary Workarounds

Network Segmentation

linux

Restrict openCRX server's outbound network access to prevent SSRF exploitation

iptables -A OUTPUT -p tcp -m multiport --dports 80,443,8080,8443 -j DROP

File System Restrictions

linux

Apply strict file permissions to limit accessible directories

chmod 750 /path/to/opencrx/data
chown root:opencrx /path/to/opencrx

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate openCRX from sensitive internal systems
  • Deploy web application firewall (WAF) with SSRF and file access protection rules

🔍 How to Verify

Check if Vulnerable:

Check if running openCRX v5.2.2 by examining version files or application metadata

Check Version:

grep -r "5.2.2" /path/to/opencrx/installation/ || cat /path/to/opencrx/META-INF/MANIFEST.MF

Verify Fix Applied:

Verify the commit hash includes ce7a71db0bb34ecbcb0e822d40598e410a48b399 or later

📡 Detection & Monitoring

Log Indicators:

  • Unusual file access patterns in openCRX logs
  • HTTP requests to internal IP addresses from openCRX server

Network Indicators:

  • openCRX server making unexpected outbound connections to internal services

SIEM Query:

source="opencrx" AND (url="file://*" OR dest_ip IN (RFC1918_IP_RANGE))

🔗 References

📤 Share & Export