CVE-2023-41578

7.5 HIGH

📋 TL;DR

Jeecg Boot up to version 3.5.3 contains an arbitrary file read vulnerability in the /testConnection interface. This allows attackers to read sensitive files from the server filesystem without authentication. Organizations using vulnerable Jeecg Boot versions are affected.

💻 Affected Systems

Products:
  • Jeecg Boot
Versions: Up to and including v3.5.3
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: The /testConnection endpoint appears to be enabled by default in vulnerable versions.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could read sensitive configuration files, database credentials, SSH keys, or other critical system files, leading to complete system compromise.

🟠

Likely Case

Attackers will read configuration files containing database credentials, API keys, and other sensitive information to escalate privileges or pivot to other systems.

🟢

If Mitigated

With proper network segmentation and access controls, impact is limited to the compromised application server's filesystem.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

The vulnerability is simple to exploit via HTTP requests to the vulnerable endpoint with path traversal payloads.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v3.5.4 or later

Vendor Advisory: https://github.com/jeecgboot/jeecg-boot

Restart Required: Yes

Instructions:

1. Upgrade Jeecg Boot to version 3.5.4 or later. 2. Restart the application server. 3. Verify the /testConnection endpoint is no longer vulnerable.

🔧 Temporary Workarounds

Block /testConnection endpoint

all

Use web application firewall or reverse proxy to block access to the vulnerable endpoint

# Example nginx location block
location /testConnection { deny all; }
# Example Apache .htaccess
RedirectMatch 403 ^/testConnection

Disable vulnerable endpoint

all

Modify application configuration to disable or restrict the /testConnection interface

# Check Jeecg Boot configuration files for testConnection settings

🧯 If You Can't Patch

  • Implement strict network access controls to limit who can reach the Jeecg Boot application
  • Deploy a web application firewall with path traversal protection rules

🔍 How to Verify

Check if Vulnerable:

Send HTTP GET request to /testConnection with path traversal payload like /testConnection?file=../../../../etc/passwd

Check Version:

Check application.properties or pom.xml for jeecg-boot version

Verify Fix Applied:

Attempt the same exploit after patching - should receive error or no file content

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests to /testConnection with ../ patterns
  • Unusual file access patterns from web application

Network Indicators:

  • HTTP requests containing path traversal sequences to /testConnection endpoint

SIEM Query:

source="web_server" AND uri="/testConnection" AND (uri="*../*" OR uri="*..\\*" OR uri="*%2e%2e%2f*")

🔗 References

📤 Share & Export