CVE-2024-51032

5.4 MEDIUM

📋 TL;DR

This Cross-site Scripting (XSS) vulnerability in the Toll Tax Management System allows authenticated users to inject malicious scripts via the 'owner' field in manage_recipient.php. When exploited, attackers can steal session cookies, redirect users, or perform actions on their behalf. Only authenticated users can exploit this vulnerability.

💻 Affected Systems

Products:
  • Sourcecodester Toll Tax Management System
Versions: 1.0
Operating Systems: Any OS running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Requires PHP environment with the vulnerable manage_recipient.php file accessible to authenticated users.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker could steal administrator session cookies, gain full system control, manipulate toll tax data, or redirect users to malicious sites.

🟠

Likely Case

Attackers steal user session cookies to impersonate legitimate users, potentially accessing sensitive toll tax records and performing unauthorized transactions.

🟢

If Mitigated

With proper input validation and output encoding, the vulnerability would be prevented, limiting impact to minor data display issues.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires authenticated access. The GitHub reference shows proof-of-concept code demonstrating the vulnerability.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: Not available

Restart Required: No

Instructions:

1. Download the latest version from Sourcecodester if available. 2. Replace the vulnerable manage_recipient.php file. 3. Implement proper input validation and output encoding in the 'owner' field processing.

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Add server-side validation to sanitize the 'owner' input field before processing.

Edit manage_recipient.php to add: $owner = htmlspecialchars($_POST['owner'], ENT_QUOTES, 'UTF-8');

Content Security Policy (CSP)

all

Implement CSP headers to restrict script execution 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 manage_recipient.php to only trusted administrators using IP whitelisting or additional authentication.
  • Implement web application firewall (WAF) rules to block XSS payloads in the 'owner' parameter.

🔍 How to Verify

Check if Vulnerable:

Test by submitting a script payload like <script>alert('XSS')</script> in the 'owner' field of manage_recipient.php and check if it executes.

Check Version:

Check the system version in the admin panel or review the source code comments for version information.

Verify Fix Applied:

After applying fixes, test with the same XSS payload to ensure it's properly sanitized and doesn't execute.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to manage_recipient.php with script tags or JavaScript in parameters
  • Multiple failed login attempts followed by successful access to manage_recipient.php

Network Indicators:

  • HTTP requests containing <script>, javascript:, or other XSS payloads in the 'owner' parameter

SIEM Query:

source="web_logs" AND uri="/manage_recipient.php" AND (param="owner" AND value MATCHES "<script>|javascript:|onload=|onerror=")

🔗 References

📤 Share & Export