eIQNetworks Enterprise Security Analyzer Monitoring.exe多个缓冲区溢出漏洞

2006-11-05T00:00:00
ID SSV:420
Type seebug
Reporter Root
Modified 2006-11-05T00:00:00

Description

eIQnetworks Enterprise Security Analyzer(ESA)是一款企业级的安全管理平台。

ESA的Monitoring.exe进程中存在两个缓冲区溢出漏洞,远程攻击者可能利用此漏洞在服务器上执行任意指令。 第一个漏洞存在于Monitoring.exe中负责处理TCP 9999端口上用户数据的例程中。如果连接到这个端口,用户就会立即被提示输入口令。这时可以发送HELP命令获得各种命令帮助:


Usage: QUERYMONITOR: to fetch events for a particular monitor QUERYMONITOR&<user>&<monid>&timer QUERYEVENTCOUNT or QEC: to get latest event counts RESETEVENTCOUNT or REC: to reset event counts REC&[ALL] or REC&dev1,dev2, STATUS: Display the running status of all the threads TRACE: TRACE&ip or hostname&. TRACE&OFF& will turn off the trace FLUSH: reset monitors as though the hour has changed ALRT-OFF and ALRT-ON: toggle the life of alerts-thread. RECV-OFF and RECV-ON: toggle the life of event-collection thread. EM-OFF and EM-ON toggle event manager DMON-OFF and DMON-ON toggle device event monitoring HMON-OFF and HMON-ON toggle host event monitoring NFMON-OFF and NFMON-ON toggle netflow event monitoring HPMON-OFF and HPMON-ON toggle host perf monitoring X or EXIT: to close the session


如果向TRACE命令发布超长字符串的话就会导致在0x004B1788溢出全局变量。所溢出变量的116字节后的全局变量包含有文件输出流指针,垃圾收集线程每30秒会写入一次这个指针。在相当于以下API调用解析实际命令时可能会触发溢出漏洞:

sscanf(socket_data, \"%[^&]&%[^&]&\", 60_byte_stack_var, global_var);

由于没有对TRACE命令执行检查,攻击者可以通过特制的TRACE命令来滥用sscanf调用,导致执行任意代码。

第二个漏洞存在于Monitoring.exe中用于解析TCP 10626端口上用户数据的例程中。服务最多可接收大约16K的数据,然后以类似于以上的方式解析。攻击者可以通过QUERYMONITOR命令来触发类似的缓冲区溢出。

eIQnetworks Enterprise Security Analyzer < 2.5.0 目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.eiqnetworks.com/