CVE-2024-10946

4.7 MEDIUM

📋 TL;DR

This is a SQL injection vulnerability in the Interlib Library Cluster Automation Management System that allows attackers to execute arbitrary SQL commands via the 'sql' parameter. It affects all versions up to 2.0.1 of the software. Attackers can exploit this remotely without authentication to potentially access or manipulate database contents.

💻 Affected Systems

Products:
  • Guangzhou Tuchuang Computer Software Development Interlib Library Cluster Automation Management System
Versions: All versions up to and including 2.0.1
Operating Systems: Any OS running the Interlib software
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the specific endpoint /interlib/admin/SysLib with vulnerable parameters cmdACT=inputLIBCODE&mod=batchXSL&xsl=editLIBCODE.xsl&libcodes=&ROWID=

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including data theft, data manipulation, privilege escalation, and potential system takeover via SQL injection leading to remote code execution.

🟠

Likely Case

Unauthorized database access leading to sensitive information disclosure, data manipulation, and potential administrative access to the library management system.

🟢

If Mitigated

Limited impact with proper input validation, parameterized queries, and network segmentation preventing database access.

🌐 Internet-Facing: HIGH - The vulnerability is remotely exploitable and the exploit has been publicly disclosed, making internet-facing instances immediate targets.
🏢 Internal Only: MEDIUM - Internal systems are still vulnerable but require network access; risk increases if attackers gain internal foothold.

🎯 Exploit Status

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

Exploit details have been publicly disclosed on multiple platforms including vuldb.com and shikangsi.com, making exploitation straightforward for attackers.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: None available - vendor did not respond to disclosure

Restart Required: No

Instructions:

No official patch available. Consider upgrading if vendor releases fixed version, or implement workarounds and mitigations.

🔧 Temporary Workarounds

Web Application Firewall (WAF) Rules

all

Implement WAF rules to block SQL injection patterns targeting the vulnerable endpoint

# Example ModSecurity rule for Apache:
SecRule REQUEST_URI "@streq /interlib/admin/SysLib" \
"chain,id:1001,phase:2,deny,status:403,msg:'SQLi attempt on Interlib endpoint'"
SecRule ARGS:sql "@detectSQLi"

Input Validation Filter

all

Add input validation to sanitize the 'sql' parameter before processing

# Example PHP input sanitization:
$sql_param = preg_replace('/[^a-zA-Z0-9\s_,]/', '', $_GET['sql']);
# Or better: use parameterized queries instead of string concatenation

🧯 If You Can't Patch

  • Network segmentation: Isolate Interlib systems from internet and restrict access to authorized IPs only
  • Database hardening: Implement least privilege database accounts, enable SQL injection protection features, and monitor for suspicious queries

🔍 How to Verify

Check if Vulnerable:

Test the endpoint with SQL injection payloads: /interlib/admin/SysLib?cmdACT=inputLIBCODE&mod=batchXSL&xsl=editLIBCODE.xsl&libcodes=&ROWID=&sql=test' OR '1'='1

Check Version:

Check software version in admin interface or configuration files; no standard command available

Verify Fix Applied:

Verify that SQL injection payloads no longer execute and return appropriate error messages or are blocked

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL queries in database logs
  • Multiple failed login attempts followed by SQL injection patterns
  • Requests to /interlib/admin/SysLib with suspicious sql parameter values

Network Indicators:

  • Unusual outbound database connections from web server
  • SQL error messages in HTTP responses
  • Patterns of SQL keywords in URL parameters

SIEM Query:

source="web_logs" AND uri="/interlib/admin/SysLib" AND (param="sql" AND value MATCH "(?i)(union|select|insert|update|delete|drop|exec|--|#|;)")

🔗 References

📤 Share & Export