在Icecast流媒体服务器中发现的漏洞可能被攻击者利用来杀死依赖它来接触其受众的在线广播电台的广播。
该缺陷足以触发服务器进程中的分段错误 - 导致崩溃的访问冲突条件。存在远程代码执行的理论风险。攻击者可以使用足够长的特制HTTP标头来实现此目的。
Icecast 由Xiph.org Foundation维护,支持音频和视频数据。因为它是在免费软件许可下提供的,并且支持开放的通信标准,所以Icecast是创建在线广播电台的热门选择。
最新版本的软件中包含一个补丁,其更改日志将问题描述为影响Icecast版本2.4.0,2.4.1,2.4.2或2.4.3的缓冲区溢出“如果存在”挂载“定义启用URL身份验证。
安全漏洞源于选择'snprintf'函数,该函数通过'sprintf'将数据输出重定向到缓冲区,以通过在缓冲区不够大时截断输出来避免缓冲区溢出问题。
当满足特定条件时,做出这种选择不一定是更安全的选择。Semmle安全研究团队的Nick Rolfe表示,如果你提供的大小参数大于缓冲区的实际大小,那么'snprintf'函数不能提供缓冲区溢出保护。“
Rolfe使用LGTM发现了这个错误,LGTM是一个软件实用程序,可以根据特定的搜索模式自动发现代码中的漏洞。在这种情况下,它是一个标准查询,在未使用适当检查的情况下使用'snprintf'函数时触发警报。
在一篇技术博客文章中,专家解释说赠品的大小参数是“从先前调用snprintf的返回值中得出的”。
该漏洞现在被跟踪为CVE-2018-18820。Xiph于10月16日收到了有关该漏洞和概念验证漏洞的详细信息,并在同一天收到了确认。11月1日发布的Icecast 2.4.4中提供了修复程序。
领取专属 10元无门槛券
私享最新 技术干货