VABISMO/cve-2026-25994_PJSIP

GitHub: VABISMO/cve-2026-25994_PJSIP

该项目提供了针对PJSIP库CVE-2026-25994栈缓冲区溢出漏洞的概念验证代码。

Stars: 2 | Forks: 0

## CVE-2026-25994 – PJNATH ICE 栈缓冲区溢出 (pjsip ≤ 2.16) ### 概述 CVE-2026-25994 是一个基于栈的缓冲区溢出漏洞,影响了 pjsip ≤ 2.16 中的 ICE (Interactive Connectivity Establishment) 实现,具体位于 PJNATH 组件中。 该漏洞存在于以下函数中: pj_ice_sess_create_check_list() 位于: pjnath/src/pjnath/ice_session.c ### 漏洞详情 该问题是由构建 ICE 用户名时不安全的字符串处理引起的: ``` char buf[128]; // Fixed-size stack buffer username.ptr = buf; pj_strcpy(&username, rem_ufrag); // No bounds checking pj_strcat2(&username, ":"); pj_strcat(&username, &ice->rx_ufrag); ``` ### 根本原因 rem_ufrag 直接取自 SDP 属性: ``` a=ice-ufrag: ``` 在复制到 128 字节的栈缓冲区之前未执行长度验证 这允许攻击者溢出栈,可能覆盖: 返回地址 栈帧 Canary / 对齐数据 ### 利用 包含长 ice-ufrag 的恶意 SIP INVITE 会触发溢出 使用 ≥ ~130 字节的 payload 即可实现可靠利用 实际上,~500+ 字节(例如 520 字节)可提供一致的崩溃行为 ### 受影响版本 ✅ 易受攻击版本:pjsip ≤ 2.16 ❌ 已修复版本:pjsip ≥ 2.17 ### 补丁 该修复引入了适当的边界检查: ``` if (rem_ufrag->slen >= MAX_USERNAME_LEN || (rem_ufrag->slen + ice->rx_ufrag.slen + 1) >= 512) { return PJ_ETOOBIG; } ``` ### 影响 通过段错误 (segmentation fault) 导致拒绝服务 (DoS) 根据以下情况,可能实现远程代码执行 (RCE): 栈保护机制 (ASLR, NX, canaries) 内存布局 利用技术的复杂程度 1,200,000 台机器受影响 ``` Shodan link : https://www.shodan.io/search?query=pjmedia ``` ### 概念验证 (PoC) 提供的 PoC 发送一个包含超长 ice-ufrag 的精心构造的 SIP INVITE,以触发溢出。 ### 功能 完全同步(无 asyncio) 可通过命令行配置 自动重试 逼真的 SDP payload 通过超时检测崩溃 ### 运行易受攻击的服务器 启动 pjsua 并启用 ICE: ``` pjsua-x86_64-unknown-linux-gnu --use-ice --local-port=5060 --log-level=5 --no-tcp --auto-answer=200 ``` ### 运行 PoC ``` python3 pjsip.py -i -p 5060 -a 3 ``` ``` Arguments Option Description Default -i, --ip Target IP address 127.0.0.1 -p, --port SIP port 5060 -a, --attempts Number of attempts 3 Expected Behavior Vulnerable Target No response from server ``` image ### 缓解措施 升级到 pjsip ≥ 2.17 对 SDP 属性应用输入验证 使用栈保护机制: Stack canaries ASLR NX (不可执行栈) ### 免责声明 此概念验证 (PoC) 仅供教育和安全研究目的使用。 请勿将此代码用于您不拥有或未获得明确测试许可的系统。 ### 作者 V.Nos [BinSmasher Team](https://github.com/VABISMO/binsmasher/)
标签:CVE-2026-25994, Go语言工具, ICE, PJNATH, PJSIP, PoC, RCE, SDP, SIP, VoIP, 内存安全, 拒绝服务, 暴力破解, 栈溢出, 红队技术, 缓冲区溢出, 网络安全, 逆向工具, 配置错误, 隐私保护