CVE-2023-41443

7.2 HIGH

📋 TL;DR

This SQL injection vulnerability in Novel-Plus v4.1.0 allows remote attackers to execute arbitrary SQL commands via the sort parameter in the /sys/menu/list endpoint. Attackers can potentially read, modify, or delete database content, and in some configurations execute arbitrary code. All Novel-Plus v4.1.0 installations with the vulnerable endpoint exposed are affected.

💻 Affected Systems

Products:
  • Novel-Plus
Versions: v4.1.0
Operating Systems: All platforms running Novel-Plus
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability exists in the default configuration of Novel-Plus v4.1.0. Any installation with the /sys/menu/list endpoint accessible is vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise including remote code execution, database exfiltration, and potential lateral movement to other systems.

🟠

Likely Case

Database compromise leading to data theft, privilege escalation, and potential application takeover.

🟢

If Mitigated

Limited impact with proper input validation and database permissions, potentially only error messages or limited data exposure.

🌐 Internet-Facing: HIGH - The vulnerable endpoint is accessible remotely, allowing attackers to exploit without internal access.
🏢 Internal Only: MEDIUM - Internal attackers could still exploit, but requires network access to the application.

🎯 Exploit Status

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

The exploit requires sending crafted HTTP requests to the vulnerable endpoint. Public proof-of-concept code exists in the referenced GitHub repository.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v4.1.1 or later

Vendor Advisory: https://github.com/xxd763795151/novel-plus

Restart Required: Yes

Instructions:

1. Backup your Novel-Plus installation and database. 2. Download the latest version from the official repository. 3. Replace the vulnerable files with patched versions. 4. Restart the application server. 5. Verify the fix by testing the vulnerable endpoint.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement input validation to sanitize the sort parameter before processing

Modify the controller handling /sys/menu/list to validate sort parameter against a whitelist of allowed values

Web Application Firewall Rule

all

Block SQL injection patterns in the sort parameter

Add WAF rule: deny requests to /sys/menu/list containing SQL keywords in sort parameter

🧯 If You Can't Patch

  • Implement strict input validation for the sort parameter in the application code
  • Restrict access to the /sys/menu/list endpoint using network controls or authentication

🔍 How to Verify

Check if Vulnerable:

Send a test request to /sys/menu/list with sort parameter containing SQL injection payload like '1' OR '1'='1' and check for SQL errors or unexpected responses

Check Version:

Check the Novel-Plus version in the application configuration or about page

Verify Fix Applied:

Test the same SQL injection payload after patching - it should return an error or sanitized response without executing SQL

📡 Detection & Monitoring

Log Indicators:

  • SQL syntax errors in application logs
  • Unusual database queries from application user
  • Multiple failed login attempts following SQL errors

Network Indicators:

  • HTTP requests to /sys/menu/list with SQL keywords in parameters
  • Unusual outbound database connections from application server

SIEM Query:

source="application.log" AND ("SQL syntax" OR "sort parameter" OR "/sys/menu/list") AND ("error" OR "injection")

🔗 References

📤 Share & Export