CVE-2024-41333

6.1 MEDIUM

📋 TL;DR

This reflected cross-site scripting vulnerability in Phpgurukul Tourism Management System v2.0 allows attackers to inject malicious scripts via the uname parameter. When exploited, it enables execution of arbitrary JavaScript in the context of victim users' browsers. Organizations using this specific version of the tourism management system are affected.

💻 Affected Systems

Products:
  • Phpgurukul Tourism Management System
Versions: v2.0
Operating Systems: Any OS running PHP web server
Default Config Vulnerable: ⚠️ Yes
Notes: Requires the application to be accessible via web browser with the vulnerable parameter exposed.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal session cookies, perform account takeover, redirect users to malicious sites, or perform actions on behalf of authenticated users.

🟠

Likely Case

Session hijacking, credential theft, or defacement of the application interface through injected content.

🟢

If Mitigated

Limited impact if proper input validation and output encoding are implemented, though some browser-based attacks may still succeed.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires tricking users into clicking a malicious link containing the crafted payload.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: None known

Restart Required: No

Instructions:

1. Check vendor website for updated version
2. Apply any available patches
3. If no patch, implement input validation and output encoding

🔧 Temporary Workarounds

Input Validation Filter

all

Add server-side validation to sanitize the uname parameter

// PHP example: $uname = htmlspecialchars($_GET['uname'], ENT_QUOTES, 'UTF-8');

Web Application Firewall Rule

all

Block requests containing script tags or JavaScript in uname parameter

# ModSecurity example: SecRule ARGS:uname "@rx <script" "id:1001,deny,status:403"

🧯 If You Can't Patch

  • Implement Content Security Policy headers to restrict script execution
  • Deploy web application firewall with XSS protection rules

🔍 How to Verify

Check if Vulnerable:

Test by injecting <script>alert('XSS')</script> into the uname parameter and checking if script executes

Check Version:

Check application version in admin panel or readme files

Verify Fix Applied:

Attempt the same XSS payload and verify it's properly sanitized or blocked

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests with script tags or JavaScript in uname parameter
  • Unusual parameter values in access logs

Network Indicators:

  • Malicious URLs containing script payloads in uname parameter

SIEM Query:

source="web_logs" AND (uname CONTAINS "<script" OR uname CONTAINS "javascript:")

🔗 References

📤 Share & Export