[19889] in bugtraq

home help back first fref pref prev next nref lref last post

Re: ptrace/execve race condition exploit (non brute-force)

daemon@ATHENA.MIT.EDU (Wouter de Jong)
Wed Mar 28 00:59:45 2001

Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Message-ID:  <20010327203749.A3131@widexs.nl>
Date:         Tue, 27 Mar 2001 20:37:49 +0200
Reply-To: Wouter de Jong <wouter@WIDEXS.NL>
From: Wouter de Jong <wouter@WIDEXS.NL>
To: BUGTRAQ@SECURITYFOCUS.COM
In-Reply-To:  <Pine.LNX.4.30.0103271358190.31983-200000@alfa.elzabsoft.pl>;
              from wp@ELZABSOFT.PL on Tue, Mar 27, 2001 at 02:05:54PM +0200

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 |
> | wp@elzabsoft.pl             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
   __   _
  / /  (_)__  __ ____  __
 / /__/ / _ \/ // /\ \/ /
/____/_/_//_/\_._/ /_/\_\

home help back first fref pref prev next nref lref last post