IBM Tivoli Storage Manager 5.2.9
Tivoli Storage Manager是一种遵循ANSI SAN标准的可扩展解决方案,用于发现、监控和管理企业SAN架构组件,并可分配和自动操纵企业的附加磁盘存储资源。
Tivoli Storage Manager服务在处理发送到TCP/1500端口的消息时存在多个内存访问拷贝漏洞,远程攻击者可能利用这些漏洞导致服务崩溃或执行任意指令。
能够触发漏洞的消息格式为[index][size],其中index字段指定了到消息体特定字段的整数偏移,size字段指定了index字段的大小。由于没有验证index字段,因此攻击者可以强制服务读过报文的末尾,到达未分配的内存,导致拒绝服务。
通常size字段都会经过检查以确保不会超过数据所拷贝目标缓冲区的边界,但在有些情况下不会检查size文件:
1 初始的注册请求包含有一个用于指定语言的字段。通常这个字符串为dscenu.txt,服务器会验证语言字符串不会超过0x100字节。但如果语言字符串的第一个字节为0x18,就不会进行这个检查,导致溢出固定大小的缓冲区。
2 SmExecuteWdsfSession函数所处理的消息存在缓冲区溢出。在这个请求中有两个字段未经验证长度便拷贝到了固定大小的缓冲区。
3 在开放注册消息中由于将注册的contact字段未经检查便拷贝到了固定大小的缓冲区,因此可能导致溢出。
所有上述溢出漏洞都可能导致以Tivoli服务的权限执行任意指令。