Опубликован (http://seclists.org/oss-sec/2015/q3/291) эксплоит, позволяющий непривилегированному локальному пользователю выполнить код с правами ядра Linux. Эксплоит демонстрирует анонсированную (http://www.openwall.com/lists/oss-security/2015/07/22/7) две недели назад уязвимость CVE-2015-3290, вызванную ошибкой в коде работы с NMI в ядре Linux. Уязвимость проявляется на системах с архитектурой x86_64 при использовании ядра Linux 3.13 и более новых версий.
Устраняющие проблему исправления были внесены (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux....) в ядро в середине июля и уже включены в обновления ядра для Ubuntu (http://www.ubuntu.com/usn/usn-2691-1/). Для Debian (https://security-tracker.debian.org/tracker/CVE-2015-3290), Fedora (https://admin.fedoraproject.org/updates/F22/security) и openSUSE (http://lists.opensuse.org/opensuse-security-announce/) проблема пока остаётся неисправленной. Ядра из состава RHEL/CentOS (https://access.redhat.com/security/cve/CVE-2015-3290) и SUSE (https://www.suse.com/security/cve/CVE-2015-3290.html) не подвержены проблеме.URL: http://seclists.org/oss-sec/2015/q3/291
Новость: http://www.opennet.me/opennews/art.shtml?num=42727
ppc и mips rulez
> ppc и mips rulezНу и за что ему столько минусов, интересно? Энди в рассылке очень недвусмысленно высказался про гунявость реализацию NMI у х86. И что характерно - за дело. В х86 вообще как-то традиционно костыль на костыле и костылем погоняет. И это таки вышло боком в очередном закоулке.
лето, опеннет...
Так-то так, но нет их и материнок для них в обычных компьютерных магазинах :(
Что то я новость не понял...
По этому CVE-2015-3290 в Debian Security был апдейт 13 дней назад,
почему же он типа до сих пор уязвим?
Бред какой-то.
На https://security-tracker.debian.org/tracker/CVE-2015-3290 и https://security-tracker.debian.org/tracker/DSA-3313-1 пишут, что в stable ещё не всё поправили:Debian/stable package linux is vulnerable.
причем я не раз замечал, что обновления до дебиан стейбл добираются как-то особенно медленно.
gcc CVE-2015-3290.c -o CVE-2015-3290
CVE-2015-3290.c: В функции «main»:
CVE-2015-3290.c:308:1: ошибка: bp нельзя использовать в asm в таком контексте
}
^
с оптимизацией компилятора O2 запускай автор же в комментах напечатал в шапке
gcc CVE-2015-3290.c -O2 -o CVE-2015-3290
c -m32 собралось
$ ./CVE-2015-3290
If I produce no output, then either your kernel is okay
or you didn't abuse perf appropriately.
Run me under heavy perf load. For example:
perf record -g -o /dev/null -e cycles -e instructions -c 10000 ./CVE-2015-3290Работает уже 5 минут, что должно произойти то?
// b.
This exploit's payload just prints the text "CPL0". The exploit
will keep going after printing CPL0 so you can enjoy seeing the
frequency with which it wins.$ perf record -g -o /dev/null -e cycles -e instructions -c 10000 ./CVE-2015-3290 | grep CPL0
CPL0
CPL0
CPL0
CPL0
CPL0$ uname -a
Linux 4.1.4-1-ARCH #1 SMP PREEMPT Mon Aug 3 21:30:37 UTC 2015 x86_64 GNU/Linux
с нагрузкой запусти там же написано!
perf record -g -o /dev/null -e cycles -e instructions -c 10000 ./CVE-2015-3290
4.1.3 не работает :(
Как в комменты к нововсти об уязвимости постят экспллойт - так стирать. Как новости про эксплойт, так можно. Где ваша логика?
>Уязвимость проявляется на системах с архитектурой x86_64не готова архитектура x86_64 ещё для продакшна, 32битное ядро намного надёжнее :)
> НаноботИ тут обман.
> И тут обман.Не обман, а нанотехнологии. Толстое виндовое трололо мимикрирует под инновации.
% perf record -g -o /dev/null -e cycles -e instructions -c 10000 ./a.out
If I produce no output, then either your kernel is okay
or you didn't abuse perf appropriately.
Run me under heavy perf load. For example:
perf record -g -o /dev/null -e cycles -e instructions -c 10000 ./a.out
*** WARNING *** A 64-bit build of this exploit will not
work correctly on kernels before v4.1 due to
a signal handling bug. Build for 32-bit
or x32 instead
+ State was corrupted: SIGSEGV #GP(0x0)
RSP = 0x0000000000000033
SS = 0xFFFF
+ State was corrupted: SIGSEGV #GP(0x0)
RSP = 0x0000000000000033
SS = 0xFFFF
+ State was corrupted: SIGSEGV #GP(0x0)
RSP = 0x0000000000000033
SS = 0xFFFF
+ State was corrupted: SIGSEGV #GP(0x0)
RSP = 0x0000000000000033
SS = 0xFFFF
+ State was corrupted: SIGSEGV #GP(0x0)
RSP = 0x0000000000000033
SS = 0xFFFF
что там о тысяче глаз которые смотрят открытые проекты ? почти 2 года смотрели..
И нашли. Проблемы?
И высмотрели. В проприетарщине бы всю жизнь было и никто бы не знал.
И соответственно, никто не эксплуатировал бы.
> И соответственно, никто не эксплуатировал бы.А вот это совсем не факт. Для блэкхэтов совершенно нормально все разгасить тихой сапой. А остальные спохватываются только когда половина компьютеров на планете уже загажено сотнями вариантов самоходного ПО.
Ну дык, тысяча глаз смотрят в код открытых проектов, а две тысячи -- смотрят в код открытых проектов, чтобы поиметь эти проекты.
Для тебя это проблема?
> Ну дык, тысяча глаз смотрят в код открытых проектов, а две тысячи
> -- смотрят в код открытых проектов, чтобы поиметь эти проекты.Вот конкретно эти глаза этого Энди - наняла некая контора. И что характерно, наняла не зря - результат не заставил себя ждать. А вот глупые и жадные проприерасины вместо этого предпочитают экстренно патчить свой шит когда боевыми эксплойтами уже гасят юзерей.
backbone@xeon ~/tmp(master) $ cc -m32 CVE-2015-3290.c
In file included from /usr/include/features.h:390:0,
from /usr/include/stdlib.h:24,
from CVE-2015-3290.c:12:
/usr/include/gnu/stubs.h:7:27: фатальная ошибка: gnu/stubs-32.h: Нет такого файла или каталога
# include <gnu/stubs-32.h>
^
компиляция прервана.Систему пересобирать для поддержки 32-битных ELF лениво...
gcc -m32 -O2 exp.c -o ~/expl.lin
у меня на 64 битной так собралось)
правда пришлось дать команду
dnf whatprovides *stubs-32.h
и поставить glibc
А как вместо вывода CPL0 например открыть рутовый шелл?
Собралось нормально (с -О2), однако при запуске ничего не происходило, просто проц на 100% грузился.Запустил через perf (предварительно установив пакеты linux-tools-common и linux-tools-3.13.0-57-generic), вот результат:
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.207 MB /dev/null (~9057 samples) ]
./exploit: Segmentation faultUbuntu 14.04.2 LTS x86_64, 3.13.0-57-generic
как мне себя похакать нормально?
>Уязвимость проявляется на системах с архитектурой x86_64 при использовании ядра Linux 3.13 и более новых версий.Ничего не смущает?
И какое же из этих требований у него не выполняется?
> Ничего не смущает?Так там как раз ядро наподобие 3.13. Но если почитать новость внимательнее, можно заметить что на 64 битах работает только на ядрах свежее 4.1 из-за бага :). Да, бывает что баг может иной раз сойти за "почти фичу"
красава ))))) ахахаха
такая же хреньtoor@toorpc:~/exploits$ perf record -g -o /dev/null -e cycles -e instructions -c 10000 ./root
WARNING: perf not found for kernel 3.13.0-49You may need to install the following packages for this specific kernel:
linux-tools-3.13.0-49-generic
linux-cloud-tools-3.13.0-49-genericYou may also want to install one of the following packages to keep up to date:
linux-tools-generic
linux-cloud-tools-generictoor@toorpc:~/exploits$ cat /etc/lsb-release a
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS"про 64-х битные он пишет что не совсеми ядрами пашет
*** WARNING *** A 64-bit build of this exploit will not
work correctly on kernels before v4.1 due to
a signal handling bug. Build for 32-bit
or x32 instead
А что, еще не всех кто не включил perf_event_paranoid поломали?
>Тревога, тревога, найдена уязвимость в ядре, позволяющая стать рутом!Запускаю пример эксплойта - не работает.
>Тревога, тревога, найдена уязвимость в bash.Запускаю пример - не подтвердилось.
>Тревога, тревога, в ядре опять найдена уязвимость!Запускаю проверку - уязвимоть не работает.
>Для ядер Linux, начиная с 3.13, опубликован эксплоит, позволяющий поднять свои привилегии.
Знаете что, а идите ка вы на…уй
Для ядер Linux, начиная с 3.13, опубликован эксплоит, позволяющий поднять свои привилегииможет быть так:
опубликован эксплоит, позволяющий поднять свои привилегии Для ядер Linux, начиная с 3.13 ?
В Fedora ещё 30 числа починили. Но в "стабильный" выпуск багфикс попал только вчера-позавчера.
Чиорт, у меня 32-битная система, опять мимо...
на убунту вчера патча не было, только сегодня прилетел.