CVE-2025-2661
📋 TL;DR
This critical SQL injection vulnerability in Project Worlds Online Time Table Generator 1.0 allows remote attackers to execute arbitrary SQL commands via the 'e' parameter in /staff/index.php. Attackers can potentially access, modify, or delete database content. All installations of version 1.0 are affected.
💻 Affected Systems
- Project Worlds Online Time Table Generator
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete database compromise including data theft, data destruction, and potential remote code execution if database functions allow it
Likely Case
Unauthorized data access, privilege escalation, and potential administrative account takeover
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. SQL injection via 'e' parameter is straightforward.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Not available
Vendor Advisory: Not available
Restart Required: No
Instructions:
No official patch available. Consider migrating to alternative software or implementing custom fixes.
🔧 Temporary Workarounds
Input Validation and Sanitization
PHPAdd parameter validation and SQL injection filtering to /staff/index.php
Modify PHP code to use prepared statements with parameterized queries for the 'e' parameter
Web Application Firewall
allDeploy WAF rules to block SQL injection patterns
Add WAF rule: deny requests with SQL keywords in 'e' parameter
🧯 If You Can't Patch
- Isolate the vulnerable system behind a reverse proxy with strict input filtering
- Implement network segmentation to limit database access from the vulnerable application
🔍 How to Verify
Check if Vulnerable:
Test /staff/index.php with SQL injection payloads in 'e' parameter (e.g., e=1' OR '1'='1)
Check Version:
Check software version in admin panel or readme files
Verify Fix Applied:
Verify that SQL injection payloads no longer work and return proper error handling
📡 Detection & Monitoring
Log Indicators:
- Unusual SQL errors in application logs
- Multiple failed login attempts via /staff/index.php
- Database queries with unusual patterns from web server
Network Indicators:
- HTTP requests to /staff/index.php with SQL keywords in parameters
- Unusual database traffic patterns from web server
SIEM Query:
source="web_logs" AND uri="/staff/index.php" AND (param="e" AND value CONTAINS "UNION" OR value CONTAINS "SELECT" OR value CONTAINS "OR '1'='1")