CVE-2025-14201

2.4 LOW

📋 TL;DR

This CVE describes a cross-site scripting (XSS) vulnerability in the Hotel-Management-services-using-MYSQL-and-php software. Attackers can inject malicious scripts via the item.name parameter in /dishsub.php, potentially compromising user sessions or stealing credentials. The vulnerability affects all versions up to commit 5f8b60a7aa6c06a5632de569d4e3f6a8cd82f76f and can be exploited remotely.

💻 Affected Systems

Products:
  • alokjaiswal Hotel-Management-services-using-MYSQL-and-php
Versions: All versions up to commit 5f8b60a7aa6c06a5632de569d4e3f6a8cd82f76f
Operating Systems: Any OS running PHP and MySQL
Default Config Vulnerable: ⚠️ Yes
Notes: The software uses rolling releases, making specific version tracking difficult. The vulnerability exists in the default configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator credentials, take over the hotel management system, manipulate booking data, or redirect users to malicious sites.

🟠

Likely Case

Session hijacking, credential theft from users accessing the vulnerable page, or defacement of the application interface.

🟢

If Mitigated

Limited impact with proper input validation and output encoding, potentially only affecting users who directly interact with malicious payloads.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploit documentation is publicly available, and the vulnerability requires minimal technical skill to exploit.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: None available

Restart Required: No

Instructions:

No official patch available. Consider implementing input validation and output encoding as workarounds, or replace with alternative software.

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Implement server-side validation to sanitize the item.name parameter before processing.

Modify /dishsub.php to include: $item_name = htmlspecialchars($_POST['item.name'], ENT_QUOTES, 'UTF-8');

Content Security Policy (CSP)

all

Implement CSP headers to restrict script execution from untrusted sources.

Add to .htaccess: Header set Content-Security-Policy "default-src 'self'; script-src 'self'"
Or add to PHP: header("Content-Security-Policy: default-src 'self'; script-src 'self'");

🧯 If You Can't Patch

  • Restrict access to /dishsub.php using web application firewall (WAF) rules to block malicious input patterns.
  • Disable or remove the /dishsub.php file if its functionality is not critical to operations.

🔍 How to Verify

Check if Vulnerable:

Test by submitting a payload like <script>alert('XSS')</script> in the item.name parameter and check if it executes in the browser.

Check Version:

Check the Git commit hash: git log --oneline -1

Verify Fix Applied:

After applying workarounds, test with the same payload to ensure it is properly sanitized and does not execute.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to /dishsub.php with script tags or JavaScript in parameters
  • Multiple failed validation attempts on the item.name parameter

Network Indicators:

  • HTTP requests containing <script> tags or encoded JavaScript in the item.name parameter

SIEM Query:

source="web_logs" AND url="/dishsub.php" AND (param="item.name" AND value MATCHES "<script>|javascript:")

🔗 References

📤 Share & Export