CVE-2024-12949

6.3 MEDIUM

📋 TL;DR

This critical SQL injection vulnerability in Travel Management System 1.0 allows remote attackers to manipulate database queries via the subcatid parameter in /package.php. Attackers can potentially read, modify, or delete database contents. All users running the vulnerable version are affected.

💻 Affected Systems

Products:
  • Travel Management System
Versions: 1.0
Operating Systems: Any OS running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the /package.php file specifically through the subcatid parameter manipulation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data theft, data destruction, or full system takeover via SQL injection to remote code execution.

🟠

Likely Case

Unauthorized data access, data manipulation, or authentication bypass leading to privilege escalation.

🟢

If Mitigated

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

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploit has been publicly disclosed and SQL injection vulnerabilities are commonly weaponized.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: https://code-projects.org/

Restart Required: No

Instructions:

1. Check vendor website for updates. 2. If no patch available, implement workarounds. 3. Consider replacing with alternative software.

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Add parameter validation and sanitization for subcatid parameter in /package.php

Edit /package.php to add: $subcatid = mysqli_real_escape_string($connection, $_GET['subcatid']);

Web Application Firewall (WAF)

all

Deploy WAF rules to block SQL injection patterns

Add WAF rule: SecRule ARGS:subcatid "@detectSQLi" "id:1001,phase:2,deny"

🧯 If You Can't Patch

  • Restrict access to /package.php via network controls or authentication
  • Implement database user with minimal privileges for the application

🔍 How to Verify

Check if Vulnerable:

Test /package.php?subcatid=1' OR '1'='1 and observe if SQL error or unexpected behavior occurs

Check Version:

Check source code or documentation for version information

Verify Fix Applied:

Test with same payload and verify proper error handling or rejection occurs

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL errors in application logs
  • Multiple requests to /package.php with SQL-like patterns in parameters

Network Indicators:

  • HTTP requests to /package.php containing SQL keywords in subcatid parameter

SIEM Query:

source="web_logs" AND uri_path="/package.php" AND (query_string="*subcatid*'*" OR query_string="*subcatid*%27*")

🔗 References

📤 Share & Export