CVE-2023-26813

9.8 CRITICAL

📋 TL;DR

This is a critical SQL injection vulnerability in wangmarket CMS that allows remote attackers to execute arbitrary SQL commands. Attackers can manipulate the TableName parameter to access, modify, or delete database content. All users running wangmarket CMS 4.10 are affected.

💻 Affected Systems

Products:
  • wangmarket CMS
Versions: Version 4.10
Operating Systems: All platforms running wangmarket CMS
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability exists in the default installation and requires no special configuration to be exploitable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data theft, data destruction, authentication bypass, and potential remote code execution through database functions.

🟠

Likely Case

Data exfiltration, privilege escalation, and unauthorized access to sensitive information stored in the database.

🟢

If Mitigated

Limited impact with proper input validation and parameterized queries preventing SQL injection.

🌐 Internet-Facing: HIGH - The vulnerable endpoint is accessible remotely without authentication.
🏢 Internal Only: MEDIUM - Internal attackers could still exploit this but would need network access.

🎯 Exploit Status

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

The vulnerability is well-documented in public GitHub issues with technical details that could be easily weaponized.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after 4.10 (check latest release)

Vendor Advisory: https://github.com/xnx3/wangmarket/issues/7

Restart Required: Yes

Instructions:

1. Backup your database and application files. 2. Download the latest version of wangmarket CMS from the official repository. 3. Replace the vulnerable file com.xnx3.wangmarket.plugin.dataDictionary.controller.DataDictionaryPluginController.java with the patched version. 4. Restart the web application server.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement strict input validation for the TableName parameter to only allow alphanumeric characters and underscores.

Modify the controller to validate TableName parameter with regex: ^[a-zA-Z0-9_]+$

WAF Rule

all

Deploy a web application firewall rule to block SQL injection patterns in the TableName parameter.

Configure WAF to detect and block SQL keywords in /plugin/dataDictionary/tableView.do requests

🧯 If You Can't Patch

  • Implement network segmentation to restrict access to the vulnerable endpoint
  • Deploy a reverse proxy with request filtering to sanitize the TableName parameter

🔍 How to Verify

Check if Vulnerable:

Check if your wangmarket CMS version is 4.10 by examining the application version in admin panel or configuration files.

Check Version:

Check the application.properties or similar configuration file for version information, or inspect the admin dashboard.

Verify Fix Applied:

Test the /plugin/dataDictionary/tableView.do endpoint with SQL injection payloads in TableName parameter to confirm they are rejected.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL error messages in application logs
  • Multiple requests to /plugin/dataDictionary/tableView.do with suspicious TableName values
  • Database error logs showing unexpected queries

Network Indicators:

  • HTTP POST requests to /plugin/dataDictionary/tableView.do containing SQL keywords in parameters
  • Unusual database connection patterns from the application server

SIEM Query:

source="web_server_logs" AND uri="/plugin/dataDictionary/tableView.do" AND (param="TableName" AND value MATCHES "(?i)(SELECT|UNION|INSERT|UPDATE|DELETE|DROP|CREATE|ALTER)")

🔗 References

📤 Share & Export