CVE-2025-4457

7.3 HIGH

📋 TL;DR

A critical SQL injection vulnerability exists in Project Worlds Car Rental Project 1.0, specifically in the /admin/approve.php file's ID parameter. This allows remote attackers to execute arbitrary SQL commands against the database. Organizations using this software are affected.

💻 Affected Systems

Products:
  • Project Worlds Car Rental Project
Versions: 1.0
Operating Systems: Any
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects installations with the vulnerable /admin/approve.php file present.

📦 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

Unauthorized data access, privilege escalation, and potential administrative account takeover.

🟢

If Mitigated

Limited impact if proper input validation and parameterized queries are implemented.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploit requires admin access to reach /admin/approve.php, but SQL injection itself is straightforward once authenticated.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: None available

Restart Required: No

Instructions:

No official patch available. Implement parameterized queries in /admin/approve.php to sanitize ID input.

🔧 Temporary Workarounds

Input Validation

all

Add server-side validation to ensure ID parameter contains only numeric values

Modify /admin/approve.php to validate $_GET['ID'] or $_POST['ID'] is numeric

WAF Rule

all

Implement web application firewall rules to block SQL injection patterns

Add WAF rule to detect SQL injection attempts in ID parameter

🧯 If You Can't Patch

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

🔍 How to Verify

Check if Vulnerable:

Check if /admin/approve.php exists and contains unsanitized ID parameter usage in SQL queries

Check Version:

Check project documentation or configuration files for version information

Verify Fix Applied:

Test ID parameter with SQL injection payloads (e.g., ' OR '1'='1) and verify they are blocked or sanitized

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL errors in application logs
  • Multiple failed login attempts followed by /admin/approve.php access

Network Indicators:

  • SQL keywords in HTTP GET/POST parameters to /admin/approve.php

SIEM Query:

source="web_logs" AND uri="/admin/approve.php" AND (param="ID" AND value MATCHES "(?i)(union|select|insert|update|delete|drop|--|#|/*)")

🔗 References

📤 Share & Export