CVE-2025-44831

9.8 CRITICAL

📋 TL;DR

EngineerCMS versions 1.02 through 2.0.5 contain a SQL injection vulnerability in the /project/addproject interface. This allows attackers to execute arbitrary SQL commands on the database, potentially compromising data integrity and confidentiality. All EngineerCMS deployments within the affected version range are vulnerable.

💻 Affected Systems

Products:
  • EngineerCMS
Versions: v1.02 through v2.0.5
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability exists in the default installation when the /project/addproject endpoint is accessible.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data theft, data destruction, privilege escalation, and potential remote code execution via database functions.

🟠

Likely Case

Unauthorized data access, data manipulation, and potential extraction of sensitive information like user credentials or project data.

🟢

If Mitigated

Limited impact with proper input validation and parameterized queries preventing successful exploitation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

SQL injection vulnerabilities typically have low exploitation complexity, though specific exploit details aren't publicly documented.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v2.0.6 or later

Vendor Advisory: https://github.com/3xxx/engineercms/issues/91

Restart Required: Yes

Instructions:

1. Backup your database and application files. 2. Download and install EngineerCMS v2.0.6 or later from the official repository. 3. Replace existing files with patched version. 4. Restart the web server. 5. Verify the fix by testing the /project/addproject interface.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement strict input validation and sanitization for all parameters in the /project/addproject endpoint.

Modify source code to validate and sanitize user inputs before SQL processing

Web Application Firewall

all

Deploy a WAF with SQL injection protection rules to block malicious requests.

Configure WAF rules to detect and block SQL injection patterns

🧯 If You Can't Patch

  • Restrict access to the /project/addproject interface using network ACLs or authentication requirements.
  • Implement database-level protections like least privilege accounts and query logging.

🔍 How to Verify

Check if Vulnerable:

Check if EngineerCMS version is between 1.02 and 2.0.5 inclusive, and verify the /project/addproject endpoint exists.

Check Version:

Check the version.txt file or application configuration for version information.

Verify Fix Applied:

Confirm installation of v2.0.6 or later and test the /project/addproject interface with SQL injection test payloads.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL error messages in application logs
  • Multiple failed login attempts via /project/addproject
  • Suspicious SQL syntax in request parameters

Network Indicators:

  • HTTP requests to /project/addproject containing SQL keywords like UNION, SELECT, INSERT, DROP

SIEM Query:

source="web_logs" AND uri="/project/addproject" AND (request_parameters CONTAINS "UNION" OR request_parameters CONTAINS "SELECT" OR request_parameters CONTAINS "DROP")

🔗 References

📤 Share & Export