Digital Security Research Group [DSecRG] Advisory #DSECRG-09-003 Application: Oracle database 11G Versions Affected: Oracle 11.1.0.6 and 10.2.0.1 Vendor URL: http://oracle.com Bugs: PL/SQL Injections Exploits: YES Reported: 17.11.2008 Vendor response: 18.11.2008 Last response: 24.11.2008 Date of Public Advisory: 13.01.2009 Authors: Alexandr Polyakov Digital Security Research Group [DSecRG] (research [at] dsec [dot] ru) Description *********** Oracle Database 11G vulnerable to PL/SQL Injection. Vulnerability found in Extended filter system (EXFSYS). Details ******* PL/SQL Injection found in procedure EXFSYS.DBMS_EXPFIL_DR.GET_EXPRSET_STATS (maybe other functions in this package) Procedure EXFSYS.DBMS_EXPFIL_DR.GET_EXPRSET_STATS executes with rights of user EXFSYS. If Attacker have access to EXFSYS.DBMS_EXPFIL_DR.GET_EXPRSET_STATS. he can do all things with EXFSYS user rights; By default user EXFSYS have privelege "CREATE LIBRARY" and "CREATE ANY TRIGGER". So he teoretically can get access to OS. it can only be exploited by an attacker who is either running as a privileged users, e.g. as EXFSYS or SYS, or on a system where access to the EXFSYS routines has been granted to unprivileged users so this a defense in depth issue. EXFSYS.DBMS_EXPFIL_DR.GET_EXPRSET_STATS has 4 parameters TAB_OWNER TAB_NAME EXP_COLUMN ASET_NM "ASET_NM" is vulnerable to SQL Injection Example: ******* exec EXFSYS.DBMS_EXPFIL_DR.GET_EXPRSET_STATS('EXFSYS','EXF$VERSION','EXFVER SION','YYYYYYY'' and 1=EVILPROC()--') Vulnerable Request in v$sql log file *********************************** SELECT attribute, data_type from ADM_EXPFIL_ATTRIBUTES where owner = 'EXFSYS' and attribute_set_name = 'YYYYYYY' and EVILPROC()=EVILPROC()--' and table_alias = 'NO' and (data_type like 'VARCHAR(%)' or data_type like 'VARCHAR2(%)' or data_type = 'INT' or data_type = 'INTEGER' or data_type = 'NUMBER' or data_type = 'DATE') Fix Information *************** This is Security-In-Depth vulnerability.(http://www.oracle.com/technology/deploy/security/cpu/cpufaq.htm) Vulnerability issues that result in significant modification of Oracle code or documentation in future releases, but are not of such a critical nature that they are distributed in Critical Patch Updates. http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpujan2009.html Credits ******* Oracle give a credits for Alexander Polyakov from Digital Security Company in Security-In-Depth program of CPU January 2009. http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpujan2009.html About ***** Digital Security is leading IT security company in Russia, providing information security consulting, audit and penetration testing services, risk analysis and ISMS-related services and certification for ISO/IEC 27001:2005 and PCI DSS standards. Digital Security Research Group focuses on web application and database security problems with vulnerability reports, advisories and whitepapers posted regularly on our website. Contact: research [at] dsec [dot] ru http://www.dsecrg.ru http://www.dsec.ru