CVE-2024-25469

7.5 HIGH

📋 TL;DR

This SQL injection vulnerability in CRMEB Java versions 1.3.4 and earlier allows remote attackers to extract sensitive database information by manipulating latitude and longitude parameters in the store listing API endpoint. Attackers can potentially access customer data, configuration details, or other sensitive information stored in the database. All deployments using vulnerable versions are affected.

💻 Affected Systems

Products:
  • CRMEB Java
Versions: v1.3.4 and earlier
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the /api/front/store/list endpoint when latitude and longitude parameters are processed.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data exfiltration, authentication bypass, or remote code execution if database permissions allow.

🟠

Likely Case

Extraction of sensitive information from database tables including user credentials, personal data, or business information.

🟢

If Mitigated

Limited information disclosure from non-sensitive tables if proper input validation and parameterized queries are implemented.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

SQL injection via GET parameters requires minimal technical skill. Public GitHub issues demonstrate the vulnerability.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v1.3.5 or later

Vendor Advisory: https://github.com/crmeb/crmeb_java/issues/20

Restart Required: Yes

Instructions:

1. Backup current installation. 2. Update to CRMEB Java v1.3.5 or later from official repository. 3. Restart application server. 4. Verify fix by testing vulnerable endpoint.

🔧 Temporary Workarounds

Input Validation Filter

all

Add server-side validation for latitude and longitude parameters to accept only numeric values within valid ranges.

Implement regex validation: ^-?\d+(\.\d+)?$ for numeric values only

WAF Rule

all

Deploy web application firewall rules to block SQL injection patterns in latitude/longitude parameters.

ModSecurity rule: SecRule ARGS_GET "@detectSQLi" "id:1001,phase:2,deny"

🧯 If You Can't Patch

  • Block external access to /api/front/store/list endpoint using firewall rules or reverse proxy configuration.
  • Implement rate limiting and monitoring for suspicious parameter patterns in the vulnerable endpoint.

🔍 How to Verify

Check if Vulnerable:

Test the /api/front/store/list endpoint with SQL injection payloads in latitude or longitude parameters (e.g., latitude=1' OR '1'='1).

Check Version:

Check application version in admin panel or review pom.xml for version number.

Verify Fix Applied:

Attempt SQL injection payloads after patching; successful queries should return error or no data instead of database information.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL errors in application logs
  • Requests with SQL keywords in latitude/longitude parameters
  • High volume of requests to /api/front/store/list

Network Indicators:

  • SQL error messages in HTTP responses
  • Unusual database query patterns from application server

SIEM Query:

source="web_logs" AND uri_path="/api/front/store/list" AND (param="*SELECT*" OR param="*UNION*" OR param="*OR*'*'*'*")

🔗 References

📤 Share & Export