CVE-2026-5441CVE-2026-5441是一个被评分为高危(7.1分)的安全漏洞,主要存在于处理DICOM图像的解码组件中。该漏洞源于DicomImageDecoder.cpp文件中的DecodePsmctRle1函数,该函数负责解码Philips专有的PMSCT_RLE1压缩格式。由于解压缩例程在处理压缩数据流末尾附近的转义标记时缺乏严格的边界验证,攻击者可以构造特定的恶意数据序列。当受影响的软件解析这些特制的DICOM文件时,会触发越界读取错误,导致堆内存数据被泄露到渲染输出的图像中。虽然该漏洞需要本地访问和用户交互才能触发,但成功利用可能造成敏感信息的非授权泄露。
该漏洞的技术细节集中在PMSCT_RLE1解压缩算法的实现逻辑上。在DecodePsmctRle1函数中,程序通过解析特定的控制字节(转义标记)来指导RLE解压流程。然而,代码在处理位于缓冲区末尾的标记时,未充分校验当前读取指针与缓冲区边界的关系。当攻击者在文件末尾精心布置特定的转义序列时,解码器会误判数据长度,继续读取超出已分配堆内存区域的数据。这种越界读取操作不仅破坏了内存安全性,还会将相邻堆块中的残留数据(可能包含其他进程的内存片段或敏感信息)提取出来。由于这些数据被直接写入解码后的图像缓冲区,最终用户在查看图像时,实际上接收到了泄露的内存数据。