CVE-2025-10408
📋 TL;DR
This SQL injection vulnerability in SourceCodester Student Grading System 1.0 allows attackers to manipulate database queries through the /edit_user.php file's ID parameter. Remote attackers can potentially access, modify, or delete sensitive student and grading data. Organizations using this specific version of the software are affected.
💻 Affected Systems
- SourceCodester Student Grading System
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete database compromise leading to data theft, data destruction, or unauthorized administrative access to the entire system
Likely Case
Extraction of sensitive student information, grade manipulation, or unauthorized user account access
If Mitigated
Limited impact with proper input validation and database permissions restricting damage to non-critical data
🎯 Exploit Status
Exploit details are publicly available on GitHub, requiring some technical knowledge to implement
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Unknown
Vendor Advisory: https://www.sourcecodester.com/
Restart Required: No
Instructions:
Check vendor website for updates, implement parameterized queries in /edit_user.php, or consider alternative software
🔧 Temporary Workarounds
Input Validation and Sanitization
allAdd server-side validation to ensure ID parameter contains only numeric values
Add PHP validation: if(!is_numeric($_GET['ID'])) { die('Invalid input'); }
Web Application Firewall Rules
allBlock SQL injection patterns targeting /edit_user.php
WAF rule: block requests to /edit_user.php containing SQL keywords in parameters
🧯 If You Can't Patch
- Restrict network access to the grading system using firewall rules
- Implement database user with minimal permissions (read-only where possible)
🔍 How to Verify
Check if Vulnerable:
Test /edit_user.php with SQL injection payloads like ' OR '1'='1 in ID parameter
Check Version:
Check software version in admin panel or readme files
Verify Fix Applied:
Verify that SQL injection attempts no longer succeed and return appropriate error messages
📡 Detection & Monitoring
Log Indicators:
- Unusual database queries from web server
- Multiple failed login attempts or parameter manipulation in access logs
Network Indicators:
- HTTP requests to /edit_user.php containing SQL keywords (UNION, SELECT, etc.)
SIEM Query:
source="web_logs" AND uri="/edit_user.php" AND (param="*UNION*" OR param="*SELECT*" OR param="*OR*1=1*")