CVE-2025-14249

7.3 HIGH

📋 TL;DR

CVE-2025-14249 is a SQL injection vulnerability in code-projects Online Ordering System 1.0 that allows attackers to manipulate database queries through the product_id parameter in /user_school.php. This enables unauthorized data access, modification, or deletion. All users running version 1.0 of this system are affected.

💻 Affected Systems

Products:
  • code-projects Online Ordering System
Versions: 1.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the /user_school.php file specifically through the product_id parameter.

📦 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 access to sensitive data including customer information, order details, and potentially administrative 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: ⚠️ Yes
Complexity: LOW

Exploit details are publicly available on GitHub and vuldb.com, making this easily exploitable.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

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

Restart Required: No

Instructions:

1. Check code-projects.org for security updates. 2. If no patch exists, implement workarounds. 3. Consider replacing with supported software.

🔧 Temporary Workarounds

Input Validation and Parameterized Queries

all

Implement proper input validation and use parameterized queries to prevent SQL injection.

Modify /user_school.php to use prepared statements with bound parameters for product_id

Web Application Firewall (WAF)

all

Deploy a WAF with SQL injection protection rules.

Configure WAF to block SQL injection patterns in product_id parameter

🧯 If You Can't Patch

  • Isolate the system behind a firewall with strict access controls
  • Implement network segmentation to limit database access from web servers

🔍 How to Verify

Check if Vulnerable:

Test /user_school.php with SQL injection payloads in product_id parameter and monitor for database errors or unexpected responses.

Check Version:

Check system documentation or configuration files for version information.

Verify Fix Applied:

Retest with SQL injection payloads after implementing fixes; successful attacks should be blocked.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL queries in database logs
  • Multiple failed login attempts from single IP
  • Unexpected database errors in application logs

Network Indicators:

  • SQL injection patterns in HTTP requests to /user_school.php
  • Unusual database connection patterns

SIEM Query:

source="web_logs" AND uri="/user_school.php" AND (query="*sql*" OR query="*union*" OR query="*select*" OR query="*insert*")

🔗 References

📤 Share & Export