partywavesec/CVE-2026-25860
GitHub: partywavesec/CVE-2026-25860
针对 OpenClinic GA 5.247.01 DICOM 图像上传处理程序中反射型 XSS 漏洞(CVE-2026-25860)的概念验证代码及利用说明。
Stars: 0 | Forks: 0
# CVE-2026-25860
## OpenClinic GA 5.247.01 通过 DICOM 图像上传处理程序导致的反射型 XSS
如果你想将此 XSS 与 RCE 进行链式利用,可以阅读:
- [https://www.partywave.site/show/research/cve-2026-25860-openclinic-ga-xss-to-rce](https://www.partywave.site/show/research/cve-2026-25860-openclinic-ga-xss-to-rce)
### 描述
**OpenClinic GA <= v5.351.19** (12/05/2026) 的 DICOM 图像上传处理程序中存在反射型跨站脚本漏洞,攻击者可以通过在 DICOM 文件元数据字段中嵌入恶意 payload,在受害者的浏览器中执行任意 JavaScript。攻击者可以在 Study Description 等元数据字段中制作带有 JavaScript payload 的 DICOM 文件,当通过上传 DICOM 图像功能进行处理时,这些字段会未经净化地反射在 `popup.jsp` 和 `archiving/uploadfiles.java` 中。
在旧版本中,文件名为 `uploadfiles_jsp.java`。
### 原因
`web/archiving/uploadfiles.jsp` 文件负责处理 `.DICOM` 上传结果的渲染并显示一些 DICOM 字段。这些字段在未经进一步处理或 sanitization 的情况下被直接反射,从而导致了反射型 XSS。
漏洞代码出现在(简短版本)处理 DICOM `Tag` 的地方。特别是在接下来的图片中,`StudyDescription` 是我们用于 POC 的字段:
```
while (itr.hasNext()) {
i++;
FileItem item = (FileItem) itr.next();
if (item.isFormField()) {
} else {
try {
String fn = SCANDIR_BASE + "/from/" + filename + "_" + i;
File savedFile = new File(fn);
InputStream is = item.getInputStream();
FileUtils.copyInputStreamToFile(is, savedFile);
is.close();
DicomObject obj = Dicom.getDicomObject(savedFile);
if (obj == null) {
errors.add(item.getName());
} else {
patients.add(obj.getString(Tag.PatientID));
studies.add(obj.getString(Tag.StudyID) + "" + obj.getString(Tag.StudyDescription).replaceAll("\\^", " "));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
__注意:最新的稳定版、可直接下载运行的发布版本略落后于我们测试的版本。但该漏洞依然存在,并且在 Linux 和 Windows 上均可触发__
### POC
通过修改 `StudyDescription`,将其替换为用于执行 javascript 的待注入 html 代码,以此创建恶意 DICOM 文件 `file.dcm`:
进一步的检查和弹窗管理由 `popup.js` 处理
上传此文件以触发反射型 XSS:
### 链接
- [https://sourceforge.net/projects/open-clinic](https://sourceforge.net/projects/open-clinic)
进一步的检查和弹窗管理由 `popup.js` 处理
上传此文件以触发反射型 XSS:
### 链接
- [https://sourceforge.net/projects/open-clinic](https://sourceforge.net/projects/open-clinic)标签:JS文件枚举, OpenClinic GA, PoC, Web安全, 暴力破解, 蓝队分析, 跨站脚本(XSS)