前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >三年前的libupnp库漏洞,腾讯QQ音乐终于修复了

三年前的libupnp库漏洞,腾讯QQ音乐终于修复了

作者头像
FB客服
发布2018-02-07 11:47:46
1.6K0
发布2018-02-07 11:47:46
举报
文章被收录于专栏:FreeBufFreeBuf

由于3年前的一个漏洞,今天仍然有610万台设备可被远程代码执行,包括智能手机、路由器、智能电视等,而且这个漏洞早在3年前就已经修复。

该漏洞存在于UPnP™设备的便携式SDK中,也叫做 libupnp。这个库是用来实现媒体播放(DLAN)或者NAT地址转换(UPnP IGD)。智能手机上的应用程序可用这些功能播放媒体文件或者利用用户的家庭网络连接到其他的设备。

事实上,这些漏洞早在2012年12月份就已经修复了,然而仍然有很多app在使用存在漏洞的老版本SDK。统计发现有547个应用还在使用老版本的 libupnp,其中326个可从谷歌Play store中下载到,包括Netflix和腾讯QQ音乐。这些都是非常流行的应用,用户达百万,也就是说有数百万的用户还存在被攻击的可能性。另外,除了移动设备,路由器和智能电视也在之列。

漏洞利用

该漏洞存在于 libupnp库处理简单服务发现协议(SSDP)包过程中。该协议是 Universal Plug N’ Play (UPnP)标准的部分。在处理进程中会出现堆栈溢出,并且需要UDP1900端口打开。

一个精心制作的包可造成缓冲区溢出,如下图中的代码,TempBuf 缓冲可溢出,并造成死机。

进一步的研究发现,它不仅能造成死机,还可以在受害者设备上运行任意代码。如此以来,攻击者便可能会完全掌控受害者设备。我们已经确认至少有20个应用,linupnp库还可被激活:

举两个例子,主要是上图中两个比较引人注意的两个app。一个是QQ音乐,在中国有1亿用户,仅在谷歌商店中就下载超过100-500万次。打开它时,会自动激活linupnp用于DLNA播放。然而它使用的SDK是1.6.17版本,是2012年4月份更新的。

Netflix是安卓机上非常流行的一个应用,它使用的linupnp版本也是非常老的——6.1.13。

SDK可以依赖其他SDK来运行。Linphone SDK可向众多应用提供网络电话(VoIP),libupnp SDK是Linphone SDK提供NAT地址转换服务众多选项中其中的一个,如果该选项被选中了,存在漏洞的服务器也就被激活了。

解决方案

我们已经将这个问题通知给了Linphone和腾讯,双方都承诺会发布补丁,并且也都在11月下旬给予了修复。

* 原文地址:trendmicro,翻译/简单,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档