CVE-2025-9008

7.3 HIGH

📋 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

Products:
  • itsourcecode Online Tour and Travel Management System
Versions: 1.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires the /admin/sms_setting.php endpoint to be accessible.

📦 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.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

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

all

Add 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

linux

Limit 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|--|#)")

🔗 References

📤 Share & Export