IBM DB2数据库db2dasrrm缓冲区溢出和文件创建漏洞

2008-04-17T00:00:00
ID SSV:3176
Type seebug
Reporter Root
Modified 2008-04-17T00:00:00

Description

BUGTRAQ ID: 27870 CVE(CAN) ID: CVE-2007-5758,CVE-2007-5664

IBM DB2是一个大型的商业关系数据库系统,面向电子商务、商业资讯、内容管理、客户关系管理等应用,可运行于AIX、HP-UX、Linux、Solaris、Windows等系统。

DB2数据库所捆绑的db2dasrrm程序没有充分地验证用户所提供的DASPROF环境变量内容的长度,如果攻击者将该变量设置为特制的字符串的话,就可以在将该字符串拷贝到栈上静态大小缓冲区时触发溢出,导致覆盖栈上所存储的执行控制结构并执行任意指令。如果要利用这个漏洞,攻击者必须能够执行有漏洞的set-uid root db2dasrrm程序。

db2dasrrm程序没有安全的访问文件。当用户启动DAS时,以root权限启动了db2dasrrm进程,在初始化过程中以root用户权限创建了dasRecoveryIndex、dasRecoveryIndex.tmp、dasRecoveryIndex.lock和dasRecoveryIndex.cor文件。如果删除了这些文件并重新创建作为符号链接,攻击者便可能以root用户权限创建任意文件。如果要利用这个漏洞,攻击者必须能够访问允许启动和停止DB2管理服务器的帐号,如dasusr1帐号或可访问db2adm1组的帐号。

IBM DB2 Universal Database 9.1 FixPak 4 IBM DB2 Universal Database 9.1 Fixpak 3 临时解决方法:

  • 对DB2例程目录使用更严格的权限设置以防止非例程用户访问set-uid root二进制程序。
  • 删除DB2所捆绑所有程序的set-uid位。

厂商补丁:

IBM

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

<a href=http://www-1.ibm.com/support/docview.wss?uid=swg21256235 target=_blank>http://www-1.ibm.com/support/docview.wss?uid=swg21256235</a> <a href=http://www-1.ibm.com/support/docview.wss?uid=swg21255572 target=_blank>http://www-1.ibm.com/support/docview.wss?uid=swg21255572</a> <a href=http://www-1.ibm.com/support/docview.wss?uid=swg21287889 target=_blank>http://www-1.ibm.com/support/docview.wss?uid=swg21287889</a>