OpenSIPS 3.6.8/4.0.1安全漏洞 影响 rtpproxy_offer 和 rtpproxy_answer 函数

OpenSIPS 3.6.8/4.0.1安全漏洞 影响 rtpproxy_offer 和 rtpproxy_answer 函数

💡 原文中文,约1500字,阅读约需4分钟。
📝

内容提要

OpenSIPS 3.6.8及4.0.1之前版本存在越界读取漏洞(CWE-125),位于rtpproxy模块的rtpproxy_offer/rtpproxy_answer函数,可被远程未认证触发,导致信息泄露或服务中断。建议升级至3.6.9或4.0.2,升级前限制SIP流量,必要时禁用该模块。

🔎

延伸解读

漏洞触发点与影响范围

漏洞位于 rtpproxy 模块的 rtpproxy_offer 和 rtpproxy_answer 函数,这两个函数在 SIP 会话发起和修改时被调用,用于协商媒体路径。攻击者可通过发送特制 SIP 数据包,以畸形参数触发越界读取(CWE-125),从而读取相邻内存中的敏感信息,或导致服务崩溃。受影响版本为稳定分支至 3.6.8 及开发分支至 4.0.1,远程未认证即可利用,风险较高。

潜在危害:信息泄露与拒绝服务

越界读取可能暴露服务器内存中的内部状态数据、凭据或会话令牌,进而破坏 VoIP 会话的机密性和完整性,甚至为窃听或中间人攻击创造条件。同时,无效内存访问可能导致应用程序崩溃,造成拒绝服务。文章指出,主要直接风险是信息泄露和服务中断,但理论上也可能被用于进一步攻击,具体取决于操作系统和利用方式。

修复与临时缓解措施

官方已在 3.6.9 和 4.0.2 版本中修复该漏洞,建议用户尽快升级。升级前应备份配置文件,并审查访问控制列表和防火墙规则,限制来自不可信网络的直接 SIP 流量。若无法立即升级,可在网络边界实施严格输入验证,或在非必需时禁用 rtpproxy 模块作为临时补偿措施。升级后需持续监控日志中的内存错误或段错误,确保漏洞已解决。

❓

Q&A

OpenSIPS 哪些版本存在 rtpproxy 越界读取漏洞?

OpenSIPS 稳定分支中最高至 3.6.8 的版本以及开发分支中最高至 4.0.1 的版本存在该漏洞。

这个漏洞具体影响 OpenSIPS 的哪些函数?

漏洞影响 rtpproxy 模块中的 rtpproxy_offer 和 rtpproxy_answer 函数,这些函数在会话发起和修改过程中被调用,用于协商媒体路径。

OpenSIPS 这个漏洞的 CWE 编号是什么?属于哪类安全问题?

该漏洞归类为 CWE-125,即越界读取操作,属于内存安全违规。

攻击者如何利用 OpenSIPS 的 rtpproxy 漏洞?需要认证吗?

攻击者可以远程发送特制的 SIP 数据包,以畸形参数触发 rtpproxy_offer 或 rtpproxy_answer 函数,且无需事先认证。

OpenSIPS rtpproxy 漏洞可能造成哪些危害?

可能导致服务器内存中的敏感信息泄露(如内部状态数据、凭据、加密密钥或会话令牌),并可能因应用程序崩溃造成服务中断,理论上还可能被用于进一步攻击。

如何修复 OpenSIPS 的 rtpproxy 越界读取漏洞?

升级到稳定分支的 3.6.9 版本或开发分支的 4.0.2 版本,这些版本包含修复内存处理错误的补丁。

无法立即升级 OpenSIPS 时,有哪些临时缓解措施?

在升级前,应审查访问控制列表和防火墙规则,限制来自不受信任网络的直接 SIP 流量;可在网络边界实施严格的输入验证;若非绝对需要,可禁用 rtpproxy 模块作为临时补偿性控制措施。

升级 OpenSIPS 后还需要做什么来确保漏洞已解决?

升级后应持续监控系统日志中是否存在异常的内存相关错误或段错误,以确保漏洞已完全解决且生产环境中不存在残余的不稳定性。

🏷️

标签

➡️

继续阅读