[5022] in bugtraq

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

Re: your mail

daemon@ATHENA.MIT.EDU (Ariel Biener)
Mon Jul 28 11:05:01 1997

Date: 	Sat, 26 Jul 1997 07:50:13 +0300
Reply-To: Ariel Biener <ariel@FIREBALL.TAU.AC.IL>
From: Ariel Biener <ariel@FIREBALL.TAU.AC.IL>
X-To:         Nicolas Dubee <dube0866@EUROBRETAGNE.FR>
To: BUGTRAQ@NETSPACE.ORG
In-Reply-To:  <199707260529.HAA06051@plaguez.insomnia.org>

On Sat, 26 Jul 1997, Nicolas Dubee wrote:

>                    plaguez security advisory n. 8
>
>                 kerneld / request-route vulnerability
>
>
> Program:  kerneld(1) , the kernel messages daemon handler
>           request-route, a sample ppp connection script
>
> Version:  all kerneld/request-route versions
>
> OS:       Linux (tested on 2.0.30/Redhat 4.1 and Redhat 3.0.3)
>
> Problem:  lock files, symlinks
>
> Impact:   when kerneld/request-route are set up,
>           any user can overwrite any file on the system.
>
>
>
> hello all,
>
> this week, we'll see a weird thing that should have been
> removed for years, but that has apparently survived in recent
> Linux versions.
>
> kerneld(1) is a daemon that "performs kernel action in user space"
> (see man page).
> request-route is a shell script that should launch pppd and
> allocate a network route 'on-the-fly' when kerneld receives
> a 'request-route' kernel message.
> It can also be configured to use other network interfaces.
>
> request-route uses a lockfile named /tmp/request-route
> where it writes its pid in.
> Unfortunatly, request-route does not check wether this
> lockfile already exists, will follow symlinks and will
> create new files mode 600...
>
> One can then create/write to any file on the affected
> system, regardless of permissions.
>
> An attacker would create a symlink from the /tmp/request-route
> file to any file on the system. He would then for example
> telnet to a host, resulting in a request-route kernel
> message. The /sbin/request-route would then be executed
> and would overwrite the file at the end of the symlink.
>
>
> Fix:
> ----

/sbin/request-route is a script. So, the script can be fixed to check for
the lock file, or whatever other security check are needed. No need to
just go and remove before finding a suitable solution.

 A simple solution would be to add a:

        set -o noclobber

In the script, right here:

        sleep 60 &
        sleepid=$!
--->    set -o noclobber
        echo $sleepid > $LOCK
        wait $sleepid

Regards,

--Ariel

>
>     rm -rf /sbin/request-route
>
>
>
>
> that's all for this week.
>
> See you later,
>
> -plaguez
>
>
>
> ------------------------
>         plaguez
> dube0866@eurobretagne.fr
> http://plaguez.innu.org/
>         ^^^^^^^^(soon)
> ------------------------
>

   +---------------------------------------------------------+
   | Ariel Biener                                            |
   | e-mail: ariel@post.tau.ac.il        Work ph: 03-6406086 |
   +---------------------------------------------------------+

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