вторник, 14 мая 2013 г.

В ядре Linux обнаружена локальная root-уязвимость

http://www.linux.org.ru/forum/security/9160925

http://www.opennet.ru/opennews/art.shtml?num=36933


В ядре Linux обнаружена уязвимость, позволяющая получить root-доступ произвольному пользователю. Проблему усложняет то, что ошибка существовала на протяжении последних 2-3 лет и существует во всех ядрах начиная с 2.6.37 и включая 3.8.10.
Проблема присутствует в коде PERF_EVENTS, которая должна быть активирована для успешной эксплуатации уязвимости. Пользователи RHEL 6 и CentOS, несмотря на использование ядра 2.6.32, не застрахованы от данной ошибки - проблемный код был успешно бэкпортирван Red Hat в пакет с ядром, поставляемом в RHEL.
Эксплоит уже доступен публично

ссылка на сам эксплоит http://packetstormsecurity.com/files/121616/semtex.c

PoC:


   bash-4.1# gcc -O2 exploit.c
   bash-4.1# chmod 777 a.out
   bash-4.1# su nobody -s /bin/bash
   bash-4.1$ id
   uid=99(nobody) gid=99(nobody) groups=99(nobody)

   bash-4.1$ cd /
   bash-4.1$ ls
   a.out  bin  boot  dev  etc  exploit.c  home  lib  lib64  media....
  
   bash-4.1$ ./a.out
   2.6.37-3.x x86_64

   sh-4.1# id 
   uid=0(root) gid=0(root) groups=0(root),99(nobody)

только что-то в Slackware Linux проблемы начались  уже с su nobody вполне предсказуемо. А с какого перепугу у nobody есть шел?

Очевидно, что на эту команду su просит пароль, которого не существует.

Fail

Впрочем, получив права рута, я таки смог насильно зайти как nobody с оболочкой bash, как мне тут рекомендуют (само по себе бред). Очевидно, в каталог пользователя, компилявшего эксплоит меня не пустили

Fail

Ладно, вернув права рута, переместил эксплоит в /tmp, и потом опять вошёл как nobody (руту можно всё). Наконец-то можно запускать!

Fail

Данный былокод просто завис.

Итог: в слаке это трижды НЕ работает. 

ЗЫЖ и да, ядро обновлять мне лениво.

Linux ksu 3.8.4 #2 SMP Tue Mar 26 23:52:24 CDT 2013 x86_64 Intel(R) Pentium(R) CPU G2020 @ 2.90GHz GenuineIntel GNU/Linux