CVE-2022-31355

9.8 CRITICAL

📋 TL;DR

Online Ordering System v2.3.2 contains a SQL injection vulnerability in the category search parameter. Attackers can execute arbitrary SQL commands through the /ordering/index.php endpoint, potentially compromising the database. All systems running this specific version are affected.

💻 Affected Systems

Products:
  • Online Ordering System
Versions: v2.3.2
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in default installation via the category search parameter.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including data theft, data manipulation, authentication bypass, and potential remote code execution via database functions.

🟠

Likely Case

Database information disclosure, data manipulation, and potential privilege escalation within the application.

🟢

If Mitigated

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

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Public proof-of-concept available on GitHub, exploitation requires minimal technical skill.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: Unknown

Restart Required: No

Instructions:

No official patch available. Consider upgrading to a newer version if available or implementing workarounds.

🔧 Temporary Workarounds

Input Validation Filter

all

Add input validation to sanitize the search parameter before processing SQL queries.

Modify /ordering/index.php to validate and sanitize the 'search' parameter using prepared statements or parameterized queries.

Web Application Firewall Rule

all

Block SQL injection patterns in the search parameter.

Add WAF rule to block requests containing SQL keywords in the search parameter: 'UNION', 'SELECT', 'INSERT', 'UPDATE', 'DELETE', 'DROP', 'OR', 'AND' with special characters.

🧯 If You Can't Patch

  • Implement network segmentation to isolate the vulnerable system from critical assets.
  • Enable detailed logging and monitoring for SQL injection attempts on the affected endpoint.

🔍 How to Verify

Check if Vulnerable:

Test the endpoint with SQL injection payloads: /ordering/index.php?q=category&search=' OR '1'='1

Check Version:

Check the system version in the application interface or configuration files.

Verify Fix Applied:

Test with SQL injection payloads after applying fixes; successful payloads should be blocked or sanitized.

📡 Detection & Monitoring

Log Indicators:

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

Network Indicators:

  • HTTP requests to /ordering/index.php with SQL keywords in parameters
  • Unusual database connection patterns from web server

SIEM Query:

source="web_logs" AND uri="/ordering/index.php" AND (param="search" AND value MATCHES "(?i)(union|select|insert|update|delete|drop|or|and).*['\"]")

🔗 References

📤 Share & Export