CVE-2025-12315

4.7 MEDIUM

📋 TL;DR

This SQL injection vulnerability in code-projects Food Ordering System 1.0 allows attackers to manipulate database queries through the itemPrice parameter in /admin/menu.php. Attackers can potentially read, modify, or delete database content remotely. Organizations using this specific version of the food ordering system are affected.

💻 Affected Systems

Products:
  • code-projects Food Ordering System
Versions: 1.0
Operating Systems: All platforms running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Requires the /admin/menu.php file to be accessible, which is typically part of the admin interface.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including theft of sensitive data (customer information, payment details), data destruction, or full system takeover.

🟠

Likely Case

Data exfiltration of customer information and order history, potential privilege escalation within the application.

🟢

If Mitigated

Limited information disclosure from database if proper input validation and WAF rules are in place.

🌐 Internet-Facing: HIGH - The vulnerability is remotely exploitable and affects internet-facing administrative interfaces.
🏢 Internal Only: MEDIUM - Internal systems could still be compromised through internal attackers or lateral movement.

🎯 Exploit Status

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

Exploit details are publicly disclosed on GitHub and vuldb.com, making exploitation straightforward for attackers with basic SQL injection knowledge.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Not available

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

Restart Required: No

Instructions:

1. Check code-projects.org for official patches or updates. 2. If no patch available, implement parameterized queries in /admin/menu.php. 3. Replace direct SQL concatenation with prepared statements for the itemPrice parameter.

🔧 Temporary Workarounds

Input Validation and Sanitization

PHP

Implement server-side validation to ensure itemPrice contains only numeric values

// PHP example: if(!is_numeric($_POST['itemPrice'])) { die('Invalid input'); }

Web Application Firewall Rules

all

Deploy WAF rules to block SQL injection patterns targeting /admin/menu.php

🧯 If You Can't Patch

  • Block external access to /admin/menu.php using firewall rules or .htaccess restrictions
  • Implement network segmentation to isolate the food ordering system from sensitive databases

🔍 How to Verify

Check if Vulnerable:

Test the itemPrice parameter in /admin/menu.php with SQL injection payloads like ' OR '1'='1

Check Version:

Check the software version in the application's admin panel or configuration files

Verify Fix Applied:

Verify that parameterized queries are implemented and SQL injection payloads no longer work

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL errors in application logs
  • Multiple failed login attempts to admin interface
  • Suspicious parameter values in /admin/menu.php requests

Network Indicators:

  • SQL keywords in POST requests to /admin/menu.php
  • Unusual database query patterns from the application server

SIEM Query:

source="web_logs" AND uri="/admin/menu.php" AND (request_body CONTAINS "UNION" OR request_body CONTAINS "SELECT" OR request_body CONTAINS "OR '1'='1'")

🔗 References

📤 Share & Export