Skip to main content
CVE Vulnerability Database

CVE-2025-1586: Blood Bank System XSS Vulnerability

CVE-2025-1586 is a cross-site scripting flaw in Code-projects Blood Bank System 1.0 affecting the /Blood/A-.php file through the Bloodname parameter. This post explains its impact, affected versions, and mitigation steps.

Published:

CVE-2025-1586 Overview

CVE-2025-1586 is a reflected cross-site scripting (XSS) vulnerability [CWE-79] in code-projects Blood Bank System 1.0. The flaw resides in /Blood/A-.php, where the Bloodname parameter is rendered without proper output encoding. An attacker can craft a malicious URL containing JavaScript payloads in the Bloodname argument. When an authenticated user with low privileges visits the crafted link, the payload executes in their browser session. The exploit has been disclosed publicly, increasing the likelihood of opportunistic abuse against exposed instances.

Critical Impact

Successful exploitation allows attackers to execute arbitrary JavaScript in the victim's browser, enabling session hijacking, credential theft, or unauthorized actions within the Blood Bank System application.

Affected Products

  • code-projects Blood Bank System 1.0
  • Component: /Blood/A-.php
  • Parameter: Bloodname

Discovery Timeline

  • 2025-02-23 - CVE-2025-1586 published to NVD
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2025-1586

Vulnerability Analysis

The vulnerability is a reflected cross-site scripting flaw in the Blood Bank System's blood record handling page. The /Blood/A-.php script accepts the Bloodname HTTP parameter and echoes it back into the rendered HTML response without sanitization or contextual output encoding. Because the application trusts the parameter as-is, an attacker can inject arbitrary HTML and JavaScript that the browser executes in the origin of the vulnerable application.

Exploitation requires user interaction — the victim must click or otherwise load an attacker-controlled URL. The attack originates over the network and requires a low-privileged authenticated session. Impact is scoped to the browser context of the victim, but that context includes access to session cookies, DOM contents, and any actions the user is authorized to perform.

Root Cause

The root cause is missing input validation and missing output encoding when reflecting user-controlled request parameters into HTML responses. The application does not apply HTML entity encoding, JavaScript escaping, or a Content Security Policy that would neutralize injected script content.

Attack Vector

An attacker constructs a URL targeting /Blood/A-.php with a Bloodname value containing script content such as an HTML tag with an event handler. The attacker delivers the URL through phishing, chat, or a malicious referrer. When the authenticated victim loads the URL, the injected script runs in the application's origin and can exfiltrate cookies, forge requests, or modify displayed content. See the GitHub PoC Document for the disclosed proof of concept.

Detection Methods for CVE-2025-1586

Indicators of Compromise

  • HTTP requests to /Blood/A-.php where the Bloodname query parameter contains angle brackets, script, onerror, onload, javascript:, or URL-encoded equivalents.
  • Web server access logs showing anomalous referrers or unusually long Bloodname values.
  • Browser console errors or unexpected outbound requests originating from Blood Bank System pages.

Detection Strategies

  • Deploy a web application firewall (WAF) rule set that inspects the Bloodname parameter for HTML and JavaScript metacharacters.
  • Enable HTTP request logging with full query string capture and centralize logs for retrospective hunting.
  • Correlate PHP web server logs against outbound DNS or HTTP traffic to identify data exfiltration triggered by successful XSS.

Monitoring Recommendations

  • Alert on any request to /Blood/A-.php containing suspicious payload keywords in the URL or POST body.
  • Monitor session cookie theft indicators such as concurrent logins from geographically distant IPs.
  • Review authentication logs for privilege escalation attempts following user clicks on external links.

How to Mitigate CVE-2025-1586

Immediate Actions Required

  • Restrict access to Blood Bank System 1.0 instances behind authentication and network controls until a patched build is available.
  • Deploy WAF rules that block script metacharacters in the Bloodname parameter of /Blood/A-.php.
  • Instruct users to avoid clicking untrusted links referencing the Blood Bank System URL paths.

Patch Information

No official vendor advisory or patched release has been published at the time of NVD posting. Monitor the Code Projects Resource Hub and VulDB entry #296566 for update announcements. Organizations maintaining forks should apply HTML entity encoding to all reflected parameters and validate input against an allowlist of expected characters.

Workarounds

  • Add server-side output encoding using htmlspecialchars($_GET['Bloodname'], ENT_QUOTES, 'UTF-8') before rendering the parameter in HTML context.
  • Deploy a strict Content Security Policy that disallows inline scripts and restricts script sources to trusted origins.
  • Configure the application session cookies with HttpOnly and SameSite=Strict attributes to reduce cookie theft impact.
  • Consider decommissioning code-projects Blood Bank System 1.0 in production environments given the absence of vendor patch commitments.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.