CVE-2022-30490

9.8 CRITICAL

📋 TL;DR

Badminton Center Management System V1.0 contains an SQL injection vulnerability in the court rental status update functionality. Attackers can exploit this to execute arbitrary SQL commands, potentially compromising the database. This affects all installations of the vulnerable software version.

💻 Affected Systems

Products:
  • Badminton Center Management System
Versions: V1.0
Operating Systems: Any OS running PHP with database backend
Default Config Vulnerable: ⚠️ Yes
Notes: Requires PHP environment with database connectivity; vulnerable in default installation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data theft, data manipulation, or full system takeover via SQL injection to execute system commands.

🟠

Likely Case

Unauthorized data access, modification of booking records, or extraction of sensitive information like user credentials.

🟢

If Mitigated

Limited impact with proper input validation and database permissions restricting damage to non-critical data.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires admin access to /bcms/admin/ path; SQL injection via 'id' parameter is straightforward.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: http://badminton.com

Restart Required: No

Instructions:

No official patch available. Replace vulnerable code with parameterized queries in /bcms/admin/court_rentals/update_status.php.

🔧 Temporary Workarounds

Input Validation Filter

all

Add server-side validation to ensure 'id' parameter contains only numeric values.

Modify update_status.php to include: if(!is_numeric($_GET['id'])) { die('Invalid input'); }

Web Application Firewall

all

Deploy WAF rules to block SQL injection patterns targeting the vulnerable endpoint.

Configure WAF to block requests containing SQL keywords to /bcms/admin/court_rentals/update_status.php

🧯 If You Can't Patch

  • Restrict access to /bcms/admin/ directory to authorized IP addresses only
  • Implement database user with minimal privileges for the application

🔍 How to Verify

Check if Vulnerable:

Test /bcms/admin/court_rentals/update_status.php?id=1' OR '1'='1 and observe database errors or unexpected behavior

Check Version:

Check software version in admin panel or configuration files

Verify Fix Applied:

Attempt SQL injection payloads and verify they are rejected or sanitized without database errors

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL errors in application logs
  • Multiple failed login attempts followed by access to vulnerable endpoint

Network Indicators:

  • HTTP requests to /bcms/admin/court_rentals/update_status.php with SQL keywords in parameters

SIEM Query:

source="web_logs" AND uri="/bcms/admin/court_rentals/update_status.php" AND (query="*OR*" OR query="*UNION*" OR query="*SELECT*" OR query="*'*'")

🔗 References

📤 Share & Export