当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0129067

漏洞标题:小米路由器管理页面任意命令执行能够拿到系统控制权

相关厂商:小米科技

漏洞作者: 三尺

提交时间:2015-07-24 22:18

修复时间:2015-10-26 21:00

公开时间:2015-10-26 21:00

漏洞类型:命令执行

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-07-24: 细节已通知厂商并且等待厂商处理中
2015-07-28: 厂商已经确认,细节仅向厂商公开
2015-07-31: 细节向第三方安全合作伙伴开放
2015-09-21: 细节向核心白帽子及相关领域专家公开
2015-10-01: 细节向普通白帽子公开
2015-10-11: 细节向实习白帽子公开
2015-10-26: 细节向公众公开

简要描述:

小米路由器管理页面任意命令执行,能够拿到系统控制权

详细说明:

路由器有pppd进程如下:

/usr/sbin/pppd nodetach ipparam wan ifname pppoe-wan nodefaultroute usepeerdns persist maxfail 1 user ******* password ******* ip-up-script /lib/netifd/ppp-up ipv6-up-script /lib/netifd/ppp-up ip-down-scri


这是拨号用的pppd,另外还有pptp和l2tp的pppd可以以同样的方法利用。
进程有如下参数:user ******* password *******
这是拨号的帐号和密码,*号是可控制内容,就是管理页面上输入的帐号和密码。
这是vpn的配置文件:

config vpn '7bd143a3f559d84685a510e7ba1ff6e2'
option username 'test'
option oname 'test'
option id '7bd143a3f559d84685a510e7ba1ff6e2'
option proto 'pptp'
option password 'test'
option server 'test'


其中的username password server会拼接到pppd进程参数里。
由于管理页面对输入的帐号密码没有过滤,这会导致任意命令执行。

漏洞证明:

在PPPOE拨号处,或者vpn拨号处帐号或者密码框里填写以下内容:

' `reboot` '


会导致路由器重启。

修复方案:

过滤输入内容,或者将帐号密码参数放到pppd file里。

版权声明:转载请注明来源 三尺@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:9

确认时间:2015-07-28 20:58

厂商回复:

漏洞确认,但漏洞成因不是文中分析的原因,影响范围是最近的R1D和R2D的开发版。感谢您对小米安全的关注,我们会尽快修复!

最新状态:

2015-07-29:抱歉,上一个稳定版也受到影响,预计在本周四发布稳定版的升级。谢谢~