首页 -> 安全研究

安全研究

安全漏洞
Linksys WRT54G无线路由器多个远程安全漏洞

发布日期:2005-09-13
更新日期:2005-09-14

受影响系统:
Linksys WRT54G < 4.20.7
不受影响系统:
Linksys WRT54G 4.20.7
描述:
CVE(CAN) ID: CVE-2005-2799

Linksys WRT54G是结合了无线接入点、交换机和路由器功能的无线路由设备。

Linksys WRT54G中存在多个远程漏洞:

1 远程管理固定密钥漏洞

漏洞具体存在于运行在内部接口(默认下包括无线接口)上httpd的'ezconfig.asp'处理程序。'ezSetup'使用这个处理程序执行路由器的初始设置。

struct mime_handler mime_handlers[] = {
//{ "ezconfig.asp", "text/html", ezc_version, do_apply_ezconfig_post,
   do_ezconfig_asp, do_auth },
/*Modified by Daniel(2004-09-06);*/
{ "ezconfig.asp", "text/html", ezc_version, do_apply_ezconfig_post,
   do_ezconfig_asp, NULL },

这个页面的'auth()'方式没有包含认证初始化函数。由于删除了认证初始程序(do_auth),在请求该页面时没有任何检查。如果由于任何原因而没有设置auth_fail标签的话,这个调用就会失败。下面显示了设置auth_fail标签的代码。在httpd启动时,auth_flag默认值为0。

  if (handler->auth) {
          handler->auth(auth_userid, auth_passwd, auth_realm);
          auth_fail = 0;
          if (!auth_check(auth_realm, authorization))
                  auth_fail = 1;
                  
  }

请求返回了加密版本的配置信息,但这些数据的加密是非常弱的固定256字节掩码的XOR加密。如果要更改设置,就必须知道这个密钥。一旦知道了密钥并用于加密新的配置数据,就可以将新的数据张贴到httpd,新的配置就会生效。

成功利用这个漏洞允许未经认证的用户修改路由器的配置,包括口令,从而获得完全控制。

2 远程管理apply.cgi溢出漏洞

运行在内部接口(默认下包括无线接口)上httpd的'apply.cgi'处理程序中存在溢出漏洞。如果未经认证的远程攻击者可以向路由器的apply.cgi页面发送内容长度大于10000字节的POST请求的话,就可以触发缓冲区溢出。成功利用这个漏洞允许未经认证的用户在受影响的路由器上以root权限执行任意命令。

3 'restore.cgi'配置修改设计错误

漏洞具体存在于restore.cgi处理程序的'POST'方式。内部接口运行的httpd在处理完外部用户提供的数据之前没有检查认证是否失败。restore.cgi处理程序允许用户向路由器的非挥发性内存(就是掉电后不会失去内容的内存)上传新的配置。如果用户通过认证的话,就可以重启路由器,然后就会加载新的配置;如果用户没有通过认证的话,则在试图上传新的配置时就会收到错误页面,路由器不会重启,而会保存用户设置,直到下一次路由器重启才会生效。

成功利用这个漏洞允许未经认证的用户修改路由器的配置,包括口令,从而获得完全控制。

4  'upgrade.cgi'固件上传设计错误

漏洞具体存在于upgrade.cgi处理程序的'POST'方式。内部接口运行的httpd在处理完外部用户提供的数据之前没有检查认证是否失败。upgrade.cgi处理程序允许用户向路由器的非挥发性内存(就是掉电后不会失去内容的内存)上传新的固件(包括操作系统和应用程序)。如果用户通过认证的话,就可以重启路由器,然后就会加载新的配置;如果用户没有通过认证的话,则在试图上传新的配置时就会收到错误页面,路由器不会重启,而会保存用户设置,直到下一次路由器重启才会生效。

成功利用这个漏洞允许未经认证的用户安装任意固件,从而获得完全控制。

5 管理接口拒绝服务漏洞

漏洞具体存在于upgrade.cgi处理程序的'POST'方式。除了内部接口运行的httpd在处理完外部用户提供的数据之前没有检查认证是否失败之外,还有几处地方将Content-Length假设为有效。在一些情况下,在递减长度值时没有进行错误检查便读取的数据。如果将Content Length设置为负数的话,这些检查就会耗费特别长的时间,在此期间httpd会变得没有响应。

<*来源:Greg MacManus
  
  链接:http://www.idefense.com/application/poi/display?id=308&type=vulnerabilities&flashstatus=true
        http://www.idefense.com/application/poi/display?id=307&type=vulnerabilities&flashstatus=true
        http://www.idefense.com/application/poi/display?id=306&type=vulnerabilities&flashstatus=true
        http://www.idefense.com/application/poi/display?id=305&type=vulnerabilities&flashstatus=true
        http://www.idefense.com/application/poi/display?id=304&type=vulnerabilities&flashstatus=true
*>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 禁止无线访问web界面。
* 确保在无线接口启用了加密。

厂商补丁:

Linksys
-------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://www.linksys.com/servlet/Satellite?childpagename=US%2FLayout&packedargs=c%3DL_Download_C2&cid%3D1115417109974&sku%3D1124916802645&pagename=Linksys%2FCommon%2FVisitorWrapper

浏览次数:3783
严重程度:30(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障