CVE-2025-8436

7.3 HIGH

📋 TL;DR

CVE-2025-8436 is a critical SQL injection vulnerability in projectworlds Online Admission System 1.0 that allows remote attackers to execute arbitrary SQL commands via the ID parameter in /viewdoc.php. This can lead to unauthorized data access, modification, or deletion. Organizations using this specific version of the admission system are affected.

💻 Affected Systems

Products:
  • projectworlds Online Admission System
Versions: 1.0
Operating Systems: Any OS running PHP web server
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the /viewdoc.php file specifically. Any deployment using the vulnerable version is affected regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including data theft, data destruction, or full system takeover via SQL injection leading to remote code execution.

🟠

Likely Case

Unauthorized access to sensitive student and administrative data, potential data manipulation or deletion.

🟢

If Mitigated

Limited impact with proper input validation and database permissions restricting damage to non-critical data.

🌐 Internet-Facing: HIGH - The vulnerability is remotely exploitable and affects a web-facing application component.
🏢 Internal Only: MEDIUM - Internal systems could still be exploited by authenticated users or through internal network access.

🎯 Exploit Status

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

Exploit details are publicly available on GitHub, making this easily exploitable by attackers with basic SQL injection knowledge.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: None available

Restart Required: No

Instructions:

No official patch available. Consider migrating to a supported alternative or implementing workarounds.

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Implement parameterized queries or proper input validation for the ID parameter in viewdoc.php

Modify viewdoc.php to use prepared statements: $stmt = $conn->prepare('SELECT * FROM documents WHERE id = ?'); $stmt->bind_param('i', $_GET['ID']);

Web Application Firewall Rules

all

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

Add WAF rule: Block requests to /viewdoc.php containing SQL keywords like UNION, SELECT, INSERT, UPDATE, DELETE, DROP in URL parameters

🧯 If You Can't Patch

  • Isolate the affected system from internet access and restrict to internal network only
  • Implement strict network segmentation and monitor all traffic to/from the vulnerable system

🔍 How to Verify

Check if Vulnerable:

Test /viewdoc.php with SQL injection payloads like: /viewdoc.php?ID=1' OR '1'='1

Check Version:

Check system documentation or source code for version information

Verify Fix Applied:

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

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL errors in web server logs
  • Multiple requests to /viewdoc.php with SQL keywords in parameters
  • Abnormal database query patterns

Network Indicators:

  • SQL injection patterns in HTTP requests to /viewdoc.php
  • Unusual outbound database connections from web server

SIEM Query:

source="web_server.logs" AND uri_path="/viewdoc.php" AND (query_string="*UNION*" OR query_string="*SELECT*" OR query_string="*INSERT*" OR query_string="*' OR '*" OR query_string="*--*" OR query_string="*;*" OR query_string="*/*")

🔗 References

📤 Share & Export