CVE:CVE-2003-0096
CNNVD:CNNVD-200303-016
Oracle Database是一款商业性质大型数据库系统。
Oracle数据库中的BFILENAME函数在处理DIRECTORY参数时缺少正确的缓冲区边界检查，远程攻击者可以利用这个漏洞对数据库进行缓冲区溢出攻击，可能以Oracle进程权限在系统上执行任意指令。
bfilename() 函数返回一个二进制大对象的指针。bfilename()在当用户提供超长DIRECOTRY参数时会发生缓冲区溢出，不过要利用这个漏洞，攻击者必须先登录到数据库服务器上，需要有合法的用户ID和密码，由于bfilename()函数默认设置为PUBLIC可执行，因此任意用户提交精心构建的DIRECTORY参数可以导致以Oracle进程的权限上执行任意指令，在Windows系统上可以获得Local System权限。
solution:Upgrade oracle database_server to a higher version than 8.0.6,9.2.1,9.2.2,and avoid the version 8.0.6,9.2.1,9.2.2; Upgrade oracle oracle8i to a higher version than 8.1.7,8.1.7.1,and avoid the version 8.1.7,8.1.7.1; Upgrade oracle oracle9i to a higher version than 9.0,9.0.1,9.0.1.2,9.0.1.3,9.0.2,and avoid the version 9.0,9.0.1,9.0.1.2,9.0.1.3,9.0.2