Yftul
1
Подробности здесь:
http://www.opennet.ru/opennews/art.shtml?num=36933
Проверил у себя - уязвимость успешно работает, надо бы обновить ядро.
yftul@calculate ~ $ whoami
yftul
yftul@calculate ~ $ ~/projects/exploit_test/exploit
2.6.37-3.x x86_64
sd@fucksheep.org 2010
calculate ~ # whoami
root
calculate ~ #
yftul@calculate ~ $ uname -a
Linux calculate 3.8.4-calculate #1 SMP PREEMPT Thu Mar 21 10:26:14 MSK 2013 x86_64 Intel(R) Core(TM) i5 CPU M 450 @ 2.40GHz GenuineIntel GNU/Linux
Патч прикладываю. Проверил на 3.8.4 ядре. Уязвимости нет 
Накладываю его локальными шаблонами.
0day-kernel-perf.patch (354 Bytes)
Yftul
3
Работает патч, подтверждаю
yftul@calculate ~ $ whoami
yftul
yftul@calculate ~ $ ~/projects/exploit_test/exploit
exploit: ./exploit.c:51: sheep: Assertion `!close(fd)' failed.
Аварийный останов
yftul@calculate ~ $ whoami
yftul
yftul@calculate ~ $
mavriq
4
уязвимость не подтверждаю , система x86
$ uname -srvmo
Linux 3.3.8-calculate #1 SMP PREEMPT Tue Mar 12 06:56:12 UTC 2013 i686 GNU/Linux
судя по вашим комментариям и предложенному патчу, проблема в длине переменной.
<code class="diff">
--- kernel/events/core.c 2013-02-19 03:58:34.000000000 +04
+++ core.c 2013-05-15 14:03:03.709655894 +0400
@@ -5328,7 +5328,7 @@
static int perf_swevent_init(struct perf_event *event)
{
- int event_id = event->attr.config;
+ u64 event_id = event->attr.config;
if (event->attr.type != PERF_TYPE_SOFTWARE)
return -ENOENT;
</code>
в связи с этим два вопроса:
# вы уверены, что на остальных архитектурах переменная должны быть той же длины?
# я в код не вникал, вы уверены, что необходим unsigned?
Скоро будет собрано ядро 3.9.
Как временное решение можно использовать:
sysctl -w kernel.perf_event_paranoid = 2
Михаил Гагауз wrote:
уязвимость “не подтверждаю”
да, на hardened-профиле эксплойт не работает
и не работает при CONFIG_PERF_EVENTS != y
судя по вашим комментариям и предложенному патчу, проблема в длине переменной.
официальный патч принятый ещё в апреле текущего года.
Запостил его сюда, вдруг кто не найдет 
Как я понял уязвимость только для x86_64, проверял на x686 не работает.