CVE-2025-9008
📋 TL;DR
This SQL injection vulnerability in itsourcecode Online Tour and Travel Management System 1.0 allows attackers to execute arbitrary SQL commands via the 'uname' parameter in /admin/sms_setting.php. Attackers can potentially access, modify, or delete database content. All deployments of version 1.0 are affected.
💻 Affected Systems
- itsourcecode Online Tour and Travel Management System
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete database compromise leading to data theft, data destruction, or full system takeover via SQL injection to RCE chaining.
Likely Case
Unauthorized access to sensitive data including user credentials, personal information, and booking records.
If Mitigated
Limited impact with proper input validation and database permissions restricting damage to non-critical data.
🎯 Exploit Status
Exploit requires admin access to reach the vulnerable endpoint, but SQL injection itself is straightforward once authenticated.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Unknown
Vendor Advisory: https://itsourcecode.com/
Restart Required: No
Instructions:
No official patch available. Consider applying input validation and parameterized queries to the affected file.
🔧 Temporary Workarounds
Input Validation and Sanitization
allAdd proper input validation and parameterized queries to /admin/sms_setting.php to prevent SQL injection.
Edit /admin/sms_setting.php to use prepared statements with parameterized queries for database operations.
Restrict Access
linuxLimit access to the /admin directory using web server configuration or network controls.
# Apache: <Location /admin> Require ip 192.168.1.0/24 </Location>
# Nginx: location /admin { allow 192.168.1.0/24; deny all; }
🧯 If You Can't Patch
- Implement a Web Application Firewall (WAF) with SQL injection rules.
- Monitor and restrict database user permissions to limit potential damage.
🔍 How to Verify
Check if Vulnerable:
Check if /admin/sms_setting.php exists and test the 'uname' parameter with SQL injection payloads like ' OR '1'='1.
Check Version:
Check the system's documentation or configuration files for version information, typically in readme files or admin panels.
Verify Fix Applied:
Test the 'uname' parameter with SQL injection payloads after applying fixes; successful payloads should be blocked or sanitized.
📡 Detection & Monitoring
Log Indicators:
- Unusual SQL queries in database logs
- Multiple failed login attempts to admin panel
- Access to /admin/sms_setting.php with suspicious parameters
Network Indicators:
- HTTP POST requests to /admin/sms_setting.php containing SQL keywords like UNION, SELECT, OR
SIEM Query:
source="web_logs" AND uri="/admin/sms_setting.php" AND (param="uname" AND value MATCHES "(?i)(union|select|or|and|--|#)")