漏洞概述 在PJSIP版本2.1.7中,存在多个安全漏洞,主要包括缓冲区溢出、堆缓冲区溢出、栈缓冲区溢出、使用-after-free条件、越界读取、整数溢出等问题。 影响范围 缓冲区溢出:在ICE中处理长用户名时。 使用-after-free:在H264打包器处理分片NAL时。 堆缓冲区溢出:在H.264解包器中。 栈缓冲区溢出:在解析RTP负载时。 堆使用-after-free:在PJSIP存在订阅终止处理程序中。 ICE会话使用-after-free竞争条件。 堆缓冲区溢出:在DNS解析器中。 越界读取:在PJSIP多部分解析中。 堆OOB读取:在VPX解包器中。 堆缓冲区溢出:在Opus编解码器解码中。 栈缓冲区溢出:在 中。 不对称的prime整数溢出:在Media Stream中。 SIP多部分CID URI长度下溢。 GnuTLS后端静默跳过证书链验证:当 为 时。 修复方案 缓冲区溢出:需要检查并限制输入长度。 使用-after-free:确保在释放内存后不再访问该内存。 堆缓冲区溢出:增加边界检查和内存管理。 栈缓冲区溢出:优化栈空间使用和输入验证。 堆使用-after-free:改进内存管理和引用计数。 ICE会话使用-after-free竞争条件:增加同步机制。 堆缓冲区溢出:增加边界检查和内存管理。 越界读取:增加边界检查和输入验证。 堆OOB读取:增加边界检查和内存管理。 堆缓冲区溢出:增加边界检查和内存管理。 栈缓冲区溢出:优化栈空间使用和输入验证。 不对称的prime整数溢出:增加整数溢出检查。 SIP多部分CID URI长度下溢:增加输入验证。 GnuTLS后端静默跳过证书链验证:确保在 为 时不进行证书链验证。 POC代码 页面中未提供具体的POC代码或利用代码。