CVE-2024-42560

6.1 MEDIUM

📋 TL;DR

This cross-site scripting (XSS) vulnerability in Blood Bank And Donation Management System allows attackers to inject malicious scripts into the Page Details parameter, which could lead to session hijacking, data theft, or website defacement. It affects systems running the vulnerable commit of this open-source blood bank management software.

💻 Affected Systems

Products:
  • Blood Bank And Donation Management System
Versions: Commit dc9e039 and potentially earlier versions
Operating Systems: Any OS running PHP web server
Default Config Vulnerable: ⚠️ Yes
Notes: Specifically affects the update_page_details.php component. Requires the system to be deployed and accessible.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator credentials, compromise donor/patient data, take full control of the system, or use the platform to attack users' browsers.

🟠

Likely Case

Session hijacking leading to unauthorized access, data exfiltration of sensitive medical information, or website defacement.

🟢

If Mitigated

Limited to minor data leakage or temporary disruption if proper input validation and output encoding are implemented.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploit requires authentication to access the vulnerable component. The GitHub gist provides technical details and payload examples.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: No official vendor advisory found

Restart Required: No

Instructions:

1. Check for updated commits in the repository. 2. Manually apply input validation and output encoding to update_page_details.php. 3. Sanitize all user inputs in the Page Details parameter.

🔧 Temporary Workarounds

Input Validation Filter

all

Add server-side validation to reject malicious scripts in Page Details parameter

Modify update_page_details.php to include: htmlspecialchars($_POST['page_details'], ENT_QUOTES, 'UTF-8')

Content Security Policy

all

Implement CSP headers to restrict script execution

Add to .htaccess or server config: Header set Content-Security-Policy "default-src 'self'; script-src 'self'"
For PHP: header("Content-Security-Policy: default-src 'self'; script-src 'self'");

🧯 If You Can't Patch

  • Restrict access to the vulnerable component using web application firewall rules
  • Implement strict authentication and session management controls

🔍 How to Verify

Check if Vulnerable:

Test by injecting a simple XSS payload like <script>alert('test')</script> into the Page Details parameter and check if it executes.

Check Version:

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

Verify Fix Applied:

Attempt the same XSS payload after applying fixes - it should be properly encoded and not execute.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to update_page_details.php with script tags
  • Multiple failed authentication attempts followed by successful access

Network Indicators:

  • HTTP requests containing <script> tags in POST data
  • Unexpected JavaScript execution in browser responses

SIEM Query:

source="web_logs" AND uri="/update_page_details.php" AND (POST_data CONTAINS "<script>" OR POST_data CONTAINS "javascript:")

🔗 References

📤 Share & Export