从截图中获取到的关于漏洞的关键信息如下: ### CVE-2024-42845 - **漏洞类型**: 远程代码执行 (RCE) - **受影响工具**: 某个广泛使用的开源生物医学工具,该工具在多所大学和实验室中积极维护并进行医学标准成像。 ### 漏洞描述 - **触发条件**: 当导入一个新的DICOM文件时,漏洞会被触发。 - **核心问题**: - 在`GetImagePosition`函数中,`eval`函数被用于处理`Image Position (Patient)`标签(0x0020, 0x0032)的每个值。 - 由于`eval`函数直接执行传入的字符串,攻击者可以在最后一个坐标值后注入恶意Python代码,导致任意代码执行。 ### 漏洞利用 - **利用步骤**: - 搜索一个有效的DICOM文件。 - 修改或创建其在`(0x0020, 0x0032)`标签的属性,附加负载作为第四个值,用`\`字符分隔。 - 使受害者或应用程序加载修改后的.DCM文件。 - **利用示例**: 使用`eval(exec([PAYLOAD]))`构造负载。 ### 补丁与缓解 - **修复措施**: 漏洞已被修复并在最新发布中修正。 - **建议**: 支持开源生物医学工具的安全,避免使用`eval`等危险函数处理不受信任的数据。 ### 技术细节 - **DICOM文件格式**: 医学成像标准,文件格式保存为.DCM。 - **数据结构**: 包含大量属性,如患者ID、图像位置、序列描述等,允许图像数据与元数据分开存储。 - **示例代码**: 提供了利用漏洞的Python脚本示例,用于教育和研究目的。 ### 总结 本文通过详细解析DICOM文件格式与处理流程,揭示了利用Python `eval`函数导致的远程代码执行风险,并提供了漏洞修复与安全防护建议。