CVE-2018-17796

9.8 CRITICAL

📋 TL;DR

This SQL injection vulnerability in MRCMS (mushroom) allows attackers to execute arbitrary SQL commands through the FIELD_T parameter. It affects all users running MRCMS versions up to 3.1.2, potentially leading to data theft, modification, or complete system compromise.

💻 Affected Systems

Products:
  • MRCMS (mushroom)
Versions: through 3.1.2
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: All installations using default configuration are vulnerable. The vulnerability exists in WebParam.java and ChannelService.java files.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including data exfiltration, data destruction, privilege escalation to admin, and potential remote code execution via database functions.

🟠

Likely Case

Unauthorized data access and modification, extraction of sensitive user information, and potential administrative account takeover.

🟢

If Mitigated

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

🌐 Internet-Facing: HIGH - Web applications are directly exposed to internet traffic and vulnerable to automated scanning/exploitation.
🏢 Internal Only: MEDIUM - Internal attackers could still exploit but requires network access; less likely to be targeted by automated attacks.

🎯 Exploit Status

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

SQL injection via FIELD_T parameter is straightforward to exploit. Public GitHub issues demonstrate the vulnerability.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after 3.1.2

Vendor Advisory: https://github.com/wuweiit/mushroom/issues/16

Restart Required: Yes

Instructions:

1. Upgrade to latest MRCMS version. 2. Replace vulnerable WebParam.java and ChannelService.java files. 3. Restart the application server.

🔧 Temporary Workarounds

Input Validation Filter

all

Add input validation to sanitize FIELD_T parameter before processing

Implement parameterized queries or input validation in WebParam.java

WAF Rule

all

Deploy web application firewall to block SQL injection patterns

Add WAF rule to detect and block SQL injection in FIELD_T parameter

🧯 If You Can't Patch

  • Implement network segmentation to isolate MRCMS from critical databases
  • Deploy database monitoring to detect unusual SQL queries and block suspicious activity

🔍 How to Verify

Check if Vulnerable:

Test if FIELD_T parameter accepts SQL injection payloads in getChannel() endpoint

Check Version:

Check MRCMS version in admin panel or configuration files

Verify Fix Applied:

Verify parameterized queries are used and FIELD_T input is properly sanitized

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL queries in application logs
  • Multiple failed login attempts via SQL injection patterns
  • Database error messages containing SQL syntax

Network Indicators:

  • HTTP requests with SQL keywords in FIELD_T parameter
  • Unusual database connection patterns from application server

SIEM Query:

source="web_logs" AND (FIELD_T CONTAINS "UNION" OR FIELD_T CONTAINS "SELECT" OR FIELD_T CONTAINS "INSERT")

🔗 References

📤 Share & Export