Skip to content


Свежий local root exploit в linux

В ядре Linux обнаружена уязвимость, позволяющая получить root-доступ произвольному пользователю. Проблему усложняет то, что ошибка существовала на протяжении последних 2-3 лет и существует во всех ядрах начиная с 2.6.37 и включая 3.8.10.

Проблема присутствует в коде PERF_EVENTS, которая должна быть активирована для успешной эксплуатации уязвимости. Пользователям RHEL 6 и CentOS, несмотря на использование ядра 2.6.32, также светят проблемы – проблемный код был успешно бэкпортирван Red Hat в пакет с ядром, поставляемом в RHEL.

Эксплоит уже доступен публично:

  1. bash-4.1# gcc -O2 exploit.c
  2. bash-4.1# chmod 777 a.out
  3. bash-4.1# su nobody -s /bin/bash
  4. bash-4.1$ id
  5. uid=99(nobody) gid=99(nobody) groups=99(nobody)
  6.  
  7. bash-4.1$ cd /
  8. bash-4.1$ ls
  9. a.out  bin  boot  dev  etc  exploit.c  home  lib  lib64  media....
  10.  
  11. bash-4.1$ ./a.out
  12. 2.6.37-3.x x86_64
  13.  
  14. sh-4.1# id
  15. uid=0(root) gid=0(root) groups=0(root),99(nobody)

Источник: http://www.opennet.ru/opennews/art.shtml?num=36933

UPDATE от 2013-05-15
А вот и небольшой workaround подоспел (правда, есть подозрение, что помогает оно только конкретно от этого эксплойта, а сам баг в ядре можно и по-другому проэксплуатировать):

  1. [root@serv ~]# /sbin/sysctl -w kernel.perf_event_paranoid=2
  2. kernel.perf_event_paranoid = 2
  3. [root@serv ~]# /sbin/sysctl -w kernel.perf_event_max_sample_rate=-1
  4. kernel.perf_event_max_sample_rate = -1
  5. [root@serv ~]# exit
  6. [avz@serv ~]$ ./a.out
  7. exploit: semtex.c:51: sheep: Assertion `!close(fd)' failed.
  8. Aborted
  9. [avz@serv ~]$

Кстати, быстро определить какие известные баги есть в вашем ядре можно с помощью такого one-liner-а:

  1. (uname -s; uname -m; uname -r; uname -v) | curl https://uptrack.api.ksplice.com/api/1/update-list/ -L -H "Accept: text/text" --data-binary @-

Размещено в категории *nix.

Комментариев: 0

Чтобы быть всегда в курсе здесь происходящего, Вы можете подписаться на RSS feed для комментариев на эту заметку.

Some HTML is OK

(required)

(required, but never shared)

, или ответить через trackback.

Страница 1 из 11