local exploitable overflow in rogue/FreeBSD
From: psj (stanojr@iserver.sk)
Date: 09/28/02
- Next message: Nomad: "Re: kern.ps_showallprocs and procfs"
- Previous message: Jez Han***: "Re: kern.ps_showallprocs and procfs"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
Date: Sat, 28 Sep 2002 20:57:18 +0200 From: psj <stanojr@iserver.sk> To: freebsd-security@freebsd.org
VULNERABLE APPLICATION: rogue in FreeBSD (tested on 4.6-RELEASE)
ABOUT APPLICATION: rogue is a fantasy game which is indirectly setgid games
IMPACT: low/medium
EXPLOITATION:
we can be egid=games, with this we can:
1. edit score files in /var/games
2. /var/games use as a storage directory (typicaly when we are limited by quota)
SOLUTION:
1. disabling rogue game via /etc/dm.conf (mad rogueists KILL YOU)
2. fix in the source code
ABOUT BUG:
At first about dm (from man page):
Dm is a program used to regulate game playing. Dm expects to be invoked
with the name of a game that a user wishes to play. This is done by cre-
ating symbolic links to dm, in the directory /usr/games for all of the
regulated games. The actual binaries for these games should be placed in
a ``hidden'' directory, /usr/games/hide, that may only be accessed by the
dm program. Dm determines if the requested game is available and, if so,
runs it. The file /etc/dm.conf controls the conditions under which games
may be run.
/usr/games/dm is of course setgid games
Other games which don`t needed games euid revoke privileges after start.
Games which needed games euid after start open the score file and revoke privileges.
Rogue don`t revoke privileges after start, it run egid games.
Vulnerability is in restoring saved game. There is a function read_string in restore function in save.c file
which don`t check the size of variable. We can rewrite an address in GOT (as in my attached exploit).
ATTACHMENTS: instant-rogue-exp.sh - instant exploit to get egid=games
AUTHOR: stanojr@iserver.sk
ps: sorry, i know, my english is very bad :]
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-security" in the body of the message
- application/x-sh attachment: instant-rogue-exp.sh
- Next message: Nomad: "Re: kern.ps_showallprocs and procfs"
- Previous message: Jez Han***: "Re: kern.ps_showallprocs and procfs"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]