CVE-2025-5386

6.3 MEDIUM

📋 TL;DR

This critical SQL injection vulnerability in JeeWMS allows remote attackers to execute arbitrary SQL commands through the transEditor function. Any organization using JeeWMS up to May 4, 2025 is affected, potentially exposing database contents and system control.

💻 Affected Systems

Products:
  • JeeWMS
Versions: All versions up to 20250504
Operating Systems: Any OS running JeeWMS
Default Config Vulnerable: ⚠️ Yes
Notes: This product does not use versioning, making precise version identification difficult. All instances before May 4, 2025 are likely vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data theft, data manipulation, and potential remote code execution on the underlying server.

🟠

Likely Case

Unauthorized data access and extraction of sensitive information from the database, potentially including user credentials and business data.

🟢

If Mitigated

Limited impact with proper input validation and database permissions, potentially only allowing data viewing without modification.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

SQL injection vulnerabilities are commonly weaponized. The public issue tracker contains technical details that could facilitate exploitation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: https://gitee.com/erzhongxmu/JEEWMS/issues/IC5FNV

Restart Required: No

Instructions:

No official patch available. Monitor the project repository for updates and apply any security fixes when released.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement strict input validation and parameterized queries for the transEditor function

Implement prepared statements in Java code: PreparedStatement pstmt = connection.prepareStatement("SELECT * FROM table WHERE id = ?"); pstmt.setString(1, userInput);

WAF Configuration

all

Deploy web application firewall rules to block SQL injection patterns

Configure WAF to block requests containing SQL keywords like UNION, SELECT, INSERT, DELETE, DROP, OR 1=1

🧯 If You Can't Patch

  • Isolate the JeeWMS instance behind a reverse proxy with strict input filtering
  • Implement network segmentation and restrict database access to minimum required permissions

🔍 How to Verify

Check if Vulnerable:

Test the endpoint /cgformTransController.do?transEditor with SQL injection payloads like ' OR '1'='1

Check Version:

Check application files or documentation for version indicators (no standard version command available)

Verify Fix Applied:

Verify that SQL injection payloads no longer execute and return proper error handling

📡 Detection & Monitoring

Log Indicators:

  • Unusual database query patterns
  • Multiple failed login attempts via transEditor endpoint
  • SQL syntax errors in application logs

Network Indicators:

  • HTTP requests to /cgformTransController.do containing SQL keywords
  • Unusual database connection patterns from application server

SIEM Query:

source="web_server" AND uri="/cgformTransController.do" AND (content="UNION" OR content="SELECT" OR content="INSERT" OR content="' OR '")

🔗 References

📤 Share & Export