On Tue, Mar 27, 2001 at 02:05:54PM +0200, Wojciech Purczynski wrote:
>
> Hi,

Hi,

> Here is exploit for ptrace/execve race condition bug in Linux kernels up
> to 2.2.18.
>
> It works even on openwall patched kernels (including broken fix in 2.2.18ow4)
> if you use address of BSS section in memory (use objdump -h /suid/binary
> to get .bss section address).
>
> It does not use brute-force! It does only one attemt, parent process detects
> exact moment of context-switch after child goes sleep in execve.
>
> If you have some problems, ensure that suid binary you want to sploit does
> not exist in disk cache.
>
> For more info read comments in the source code.
>
> It has been broken in two places.

<cut sample>

> It works with any suid binary.

I've tried this on several hosts, all with 2.2.18 (not all ow4) (RedHat 6.2 + 
Slackware 7.1), and they gave me
ither the following result :

ptrace: PTRACE_ATTACH: Operation not permitted
Error!


Or :

[wouter@nivedita wouter]$ uname -a
Linux nivedita 2.2.18 #1 Tue Feb 13 20:26:05 CET 2001 i686 unknown
[wouter@nivedita wouter]$ objdump -h /bin/su | grep .bss
  8 .rel.bss      00000030  08048ca8  08048ca8  00000ca8  2**2
 21 .bss          000000d4  0804bf04  0804bf04  00002f04  2**2
[wouter@nivedita wouter]$ find / >/dev/null 2>&1;~/epcs /bin/su 0804bf04
Bug exploited successfully.
Password:

If I use for example : 08048ca8, I'll get this :

[wouter@nivedita wouter]$ find / >/dev/null 2>&1;~/epcs /bin/su 08048ca8
Bug exploited successfully.
[wouter@nivedita wouter]$ id
uid=519(wouter) gid=519(wouter) groups=519(wouter)

> Cheers,
> wp
>
> +---------------------------------------------------------+
> | Wojciech Purczynski                 Linux Administrator |
> | [EMAIL PROTECTED]             http://www.elzabsoft.pl/~wp |
> | +48604432981        http://www.elzabsoft.pl/~wp/gpg.asc |
> +---------------------------------------------------------+


--
Met vriendelijke groet/With kind regards,

Wouter de Jong
System-Administrator/Developer
   __   _
  / /  (_)__  __ ____  __
 / /__/ / _ \/ // /\ \/ /
/____/_/_//_/\_._/ /_/\_\

Reply via email to