CVE-2025-11481
📋 TL;DR
This CVE describes an SQL injection vulnerability in the Blood-Bank-And-Donation-Management-System's donate_blood.php file, specifically in the 'fullname' parameter. Attackers can exploit this remotely to execute arbitrary SQL commands on the database. Organizations using this open-source blood bank management system are affected.
💻 Affected Systems
- varunsardana004 Blood-Bank-And-Donation-Management-System
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete database compromise including data theft, data manipulation, or deletion of all blood donation records and user information.
Likely Case
Unauthorized access to sensitive donor information (names, contact details, medical data) and potential manipulation of blood inventory records.
If Mitigated
Limited impact with proper input validation and database permissions restricting unauthorized data access.
🎯 Exploit Status
Exploit details are published in GitHub repositories, making exploitation straightforward for attackers with basic SQL injection knowledge.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Code after commit dc9e0393d826fbc85fad9755b5bc12cba1919df2
Vendor Advisory: https://github.com/varunsardana004/Blood-Bank-And-Donation-Management-System
Restart Required: No
Instructions:
1. Pull latest code from GitHub repository. 2. Replace donate_blood.php with patched version. 3. Ensure all user inputs are properly sanitized. 4. Test the donation functionality.
🔧 Temporary Workarounds
Input Validation Filter
PHPImplement server-side input validation for the fullname parameter
Add input sanitization in donate_blood.php: $fullname = mysqli_real_escape_string($conn, $_POST['fullname']);
Web Application Firewall
allDeploy WAF with SQL injection protection rules
🧯 If You Can't Patch
- Implement network segmentation to isolate the blood bank system from other critical systems
- Enable detailed logging of all database queries and monitor for suspicious patterns
🔍 How to Verify
Check if Vulnerable:
Test the donate_blood.php endpoint with SQL injection payloads in the fullname parameter (e.g., ' OR '1'='1)
Check Version:
Check git commit hash: git log --oneline -1
Verify Fix Applied:
Verify that SQL injection payloads no longer execute and return proper error handling
📡 Detection & Monitoring
Log Indicators:
- Unusual SQL queries in database logs
- Multiple failed donation attempts with special characters
- Unexpected database error messages in application logs
Network Indicators:
- HTTP POST requests to donate_blood.php containing SQL keywords in parameters
- Unusual database connection patterns from web server
SIEM Query:
source="web_logs" AND uri="/donate_blood.php" AND (fullname CONTAINS "' OR" OR fullname CONTAINS "UNION" OR fullname CONTAINS "SELECT")