CVE-2025-14536
📋 TL;DR
CVE-2025-14536 is an SQL injection vulnerability in code-projects Class and Exam Timetable Management 1.0 that allows attackers to execute arbitrary SQL commands via the login page. This affects all systems running the vulnerable version of this software. Attackers can potentially bypass authentication, access sensitive data, or compromise the database.
💻 Affected Systems
- code-projects Class and Exam Timetable Management
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete database compromise leading to data theft, authentication bypass, privilege escalation, and potential remote code execution on the database server.
Likely Case
Authentication bypass allowing unauthorized access to the system, data exfiltration from the database, and potential manipulation of timetable data.
If Mitigated
Limited impact with proper input validation, parameterized queries, and database permissions restricting SQL execution.
🎯 Exploit Status
Exploit details are publicly available on GitHub issues. The vulnerability is in the login page which is typically unauthenticated, making exploitation straightforward.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Unknown
Vendor Advisory: https://code-projects.org/
Restart Required: No
Instructions:
No official patch available. Consider migrating to alternative software or implementing custom fixes with parameterized queries and input validation.
🔧 Temporary Workarounds
Implement Input Validation
allAdd server-side validation to sanitize username and password inputs before processing
Edit /index.php to add input sanitization functions like mysqli_real_escape_string() or use prepared statements
Web Application Firewall (WAF)
allDeploy a WAF to block SQL injection patterns at the network level
Configure WAF rules to block SQL injection patterns in login requests
🧯 If You Can't Patch
- Isolate the system behind a firewall with strict access controls
- Implement network segmentation to limit database server access
🔍 How to Verify
Check if Vulnerable:
Test the login page with SQL injection payloads like ' OR '1'='1 in username/password fields
Check Version:
Check software version in admin panel or configuration files
Verify Fix Applied:
Attempt SQL injection after implementing fixes to confirm they are blocked
📡 Detection & Monitoring
Log Indicators:
- Unusual SQL errors in application logs
- Multiple failed login attempts with SQL patterns
- Successful logins from unexpected IPs
Network Indicators:
- HTTP POST requests to /index.php containing SQL keywords
- Unusual database query patterns from web server
SIEM Query:
source="web_logs" AND (url="/index.php" AND (message="sql" OR message="syntax" OR message="union"))
🔗 References
- https://code-projects.org/
- https://github.com/woshilaiyi/cve/issues/11
- https://github.com/woshilaiyi/cve/issues/12
- https://vuldb.com/?ctiid.335875
- https://vuldb.com/?id.335875
- https://vuldb.com/?submit.703700
- https://vuldb.com/?submit.703701
- https://github.com/woshilaiyi/cve/issues/11
- https://github.com/woshilaiyi/cve/issues/12