涉及程序:
Oracle 8i TNS Listener
描述:
Oracle 8i 发现重大漏洞,答应攻击者执行任意代码
具体:
Oracle 8i TNS (Transparent Network Substrate) Listener 负责建立和维系客户机同 ORACLE 数据库服务的远程连接。发现该 Listener 存在缓冲区溢出漏洞。攻击者成功利用此漏洞,将能在数据库服务器上执行任意代码。
更为糟糕的是,缓冲溢出发生在验证之前,这意味着激活了口令保护机制的 Listener 一样存在问题。
TNS Listener 处理客户连接请求并为客户机和服务器之间建立一个 TNS 数据连接,它缺省监听于 TCP 1521 端口。发送特定的命令给守护进程能对 Listener 实施治理和监控。如 "STATUS", "PING" "SERVICES" 会返回 Listener 的配置和连接情况。"TRC_FILE", "SAVE_CONFIG" "RELOAD" 则能用来改变 Listener 的配置。
当任何命令的参数包含过长的数据时将会发生缓冲溢出,客户机发只需发送一个 Type-1 (NSPTCN) 包,它含有正确的 Net8 头和构造过后的含攻击者代码的命令串。尽管通过激活口令验证机制能限制 TNS listener 治理员命令于信任用户内。但利用一些无需验证口令的命令仍能利用此漏洞,如“STATUS”。而且,缺省情况下,该验证机制并没被激活。
"SERVICE", "VERSION", "USER" "ARGUMENTS"之类的参数都能被用来触发缓冲溢出。
在 WINDOWS 下,通过利用 SEH (Strunctured Exception Handling) ,攻击者能以 "LocalSystem" 身份执行代码,
在 UNIX 下,Listener 守护进程是由 "oracle" 用户创建的,这意味着攻击者能取得数据库治理员权限。
受影响系统:
Oracle 8i Standard and Enterprise Editions Version 8.1.5, 8.1.6,
8.1.7 and previous versions
受影响平台:
Windows, Linux, Solaris, AIX, HP-UX and Tru64 Unix.