CVE-2025-3797
📋 TL;DR
This critical SQL injection vulnerability in SeaCMS allows remote attackers to execute arbitrary SQL commands via the e_id parameter in the /admin_topic.php?action=delall endpoint. Attackers can potentially access, modify, or delete database content. All SeaCMS installations up to version 13.3 are affected.
💻 Affected Systems
- SeaCMS
📦 What is this software?
Seacms by Seacms
⚠️ 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 database access leading to sensitive information disclosure, data manipulation, or privilege escalation.
If Mitigated
Limited impact with proper input validation, parameterized queries, and database permissions restricting damage to non-critical data.
🎯 Exploit Status
Exploit details are publicly available on GitHub, making exploitation straightforward for attackers with basic SQL injection knowledge.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Unknown
Vendor Advisory: Not available
Restart Required: No
Instructions:
1. Check SeaCMS official channels for security updates. 2. If patch is released, download and apply it. 3. Verify the fix by testing the vulnerable endpoint.
🔧 Temporary Workarounds
Input Validation and Sanitization
allImplement strict input validation for the e_id parameter to only accept expected values.
Modify /admin_topic.php to validate e_id parameter using whitelist approach
Web Application Firewall Rules
allDeploy WAF rules to block SQL injection patterns targeting the vulnerable endpoint.
Add WAF rule: Block requests to /admin_topic.php?action=delall with suspicious SQL patterns in parameters
🧯 If You Can't Patch
- Restrict access to /admin_topic.php endpoint using network ACLs or authentication requirements
- Implement database-level controls: Use least privilege database accounts and enable SQL injection protection features
🔍 How to Verify
Check if Vulnerable:
Test the /admin_topic.php?action=delall endpoint with SQL injection payloads in the e_id parameter and observe database errors or unexpected behavior.
Check Version:
Check SeaCMS version in admin panel or review version files in installation directory
Verify Fix Applied:
After applying fixes, test the same endpoint with SQL injection payloads and verify they are properly rejected or sanitized.
📡 Detection & Monitoring
Log Indicators:
- Unusual SQL errors in web server logs
- Multiple requests to /admin_topic.php with suspicious parameter values
- Database query patterns with unexpected syntax
Network Indicators:
- HTTP requests containing SQL keywords (SELECT, UNION, etc.) in e_id parameter
- Unusual traffic patterns to administration endpoints
SIEM Query:
source="web_logs" AND uri="/admin_topic.php" AND (query="*action=delall*" AND (param="*e_id=*SELECT*" OR param="*e_id=*UNION*" OR param="*e_id=*OR*"))