IPBUF安全漏洞报告
English
CVE-2026-32942 CVSS 8.1 高危

CVE-2026-32942 PJSIP堆释放后重用漏洞

披露日期: 2026-03-20

漏洞信息

漏洞编号
CVE-2026-32942
漏洞类型
释放后使用
CVSS评分
8.1 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
PJSIP (pjproject)

相关标签

释放后使用PJSIP竞争条件远程代码执行CVE-2026-32942

漏洞概述

PJSIP是一个用C语言编写的免费开源多媒体通信库。在2.16及以下版本中,发现了一个存在于ICE会话中的严重安全漏洞。该漏洞源于会话销毁与回调函数处理之间的竞争条件,导致堆释放后重用。攻击者无需身份认证,即可通过网络利用此漏洞,可能导致远程代码执行、系统崩溃或信息泄露。该问题已在2.17版本中得到修复,建议用户尽快升级。

技术细节

该漏洞的核心在于PJSIP库中ICE会话管理模块的并发处理缺陷。当ICE会话正在进行网络协商时,如果异步事件导致会话对象被销毁,而同一时刻另一个线程正在执行与该会话相关的回调函数,就会触发竞争条件。由于缺乏适当的锁机制或引用计数保护,回调函数尝试访问已被释放的堆内存区域。这种释放后重用漏洞可以被精心构造的数据包利用,攻击者通过控制被释放内存的内容或布局,进而控制程序执行流。鉴于PJSIP常用于VoIP应用,该漏洞可能允许攻击者以运行该库的应用程序权限执行任意代码,严重威胁服务器的机密性、完整性和可用性。

攻击链分析

STEP 1
侦察
攻击者扫描目标网络,识别使用PJSIP库且版本低于2.17的VoIP或通信服务。
STEP 2
投递
攻击者向目标发送特制的SIP邀请或网络数据包,建立ICE会话连接。
STEP 3
触发
利用会话销毁与回调函数之间的竞争窗口,通过精心时序的数据包触发堆释放后重用漏洞。
STEP 4
利用
成功利用内存破坏漏洞,控制程序执行流,实现远程代码执行或导致服务崩溃。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * PoC for CVE-2026-32942: Race Condition in PJSIP ICE Session * This is a conceptual simulation to trigger the race condition. */ #include <pthread.h> #include <stdlib.h> // Simulated PJSIP structures typedef struct { int active; void* callback_data; } ice_session; ice_session* session; void* destroy_thread_func(void* arg) { // Simulate session destruction (freeing memory) free(session); session = NULL; return NULL; } void* callback_thread_func(void* arg) { // Simulate a callback happening after/during destruction // Introduce slight delay to increase race window usleep(100); if (session) { // Use-After-Free happens here if destroy_thread ran first printf("Callback data: %p\n", session->callback_data); } return NULL; } int main() { pthread_t t1, t2; session = (ice_session*)malloc(sizeof(ice_session)); session->active = 1; // Create threads to simulate race condition pthread_create(&t1, NULL, destroy_thread_func, NULL); pthread_create(&t2, NULL, callback_thread_func, NULL); pthread_join(t1, NULL); pthread_join(t2, NULL); return 0; }

影响范围

PJSIP <= 2.16

防御指南

临时缓解措施
如果无法立即升级,建议在网络边界部署防火墙规则,限制来自不可信IP的SIP信令流量。同时,可以通过修改应用程序配置,禁用ICE功能(如果业务允许)以暂时规避风险,直到补丁应用完成。

参考链接

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