URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 120350
[ Назад ]

Исходное сообщение
"Уязвимость в драйвере vhost-net из состава ядра Linux"

Отправлено opennews , 16-Апр-20 09:59 
В драйвере vhost-net, обеспечивающем работу virtio net на стороне хост-окружения, выявлена уязвимость (CVE-2020-10942), позволяющая локальному пользователю инициировать переполнение стека ядра через отправку устройству /dev/vhost-net определённым образом оформленного ioctl(VHOST_NET_SET_BACKEND). Проблема вызвана отсутствием должной проверки содержимого поля sk_family в коде функции get_raw_socket()...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=52747


Содержание

Сообщения в этом обсуждении
"Уязвимость в драйвере vhost-net из состава ядра Linux"
Отправлено PnD , 16-Апр-20 10:16 
О как… Робот Петя (Google syzkaller) нашёл багу и тут же её "размотал".
В этом месте я не понял, Linux 4.6 — это нижняя зааффекченная версия или просто ограничение в алгоритме.
Кто знаком с Петей ближе, прокомментируйте пожалуйста.

"Уязвимость в драйвере vhost-net из состава ядра Linux"
Отправлено Аноним , 16-Апр-20 10:52 
Независимый аудит от Анонима показал что уязвимые строки есть и в 4.5
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
и в 4.6 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...

Откуда кстати другной Аноним взял цифру 4.6? В Дебиане написано что уязвимо все до 3.16.56-1


"Уязвимость в драйвере vhost-net из состава ядра Linux"
Отправлено PnD , 16-Апр-20 12:01 
Вот тут https://lkml.org/lkml/2020/2/15/125 Петя отчитался о проделанной работе. И приложил PoC.
В протоколе — тесты начиная с 4.6, что меня спросонья несколько удивило (вроде как "bisect" — про нахождение "всё починившего" коммита методом научного тыка, а за 4.6 я про kvm не помню интересного…). * fix таки было 16032be56c1f66770da15cb94f0eb366c37aff6e "virtio_net: add ethtool support for set and get of settings", но не про это.
* ИЧСХ, отчёт от 15.02.2020. Два месяца трудились (над тремя строчками, при том что практически "носом ткнули").

"Уязвимость в драйвере vhost-net из состава ядра Linux"
Отправлено Аноним , 16-Апр-20 12:52 
Так ты про вот это https://syzkaller.appspot.com/x/bisect.txt?x=13204371e00000 В целом да он только судя по всему он до 4.6 проверяет ниже нет.

"Уязвимость в драйвере vhost-net из состава ядра Linux"
Отправлено нах. , 16-Апр-20 13:04 
> Откуда кстати другной Аноним взял цифру 4.6? В Дебиане написано что уязвимо все до 3.16.56-1

просто дебиан копал до 3.16.56
А петя с васей копали только до 4.6

Так-то vhost-net с нами с 2.6.34-rc1 как минимум.


"Уязвимость в драйвере vhost-net из состава ядра Linux"
Отправлено КО , 16-Апр-20 10:24 
Шо в прошлой, что в этой новости 404 на странице Арча - у них всё ОК!

"Уязвимость в драйвере vhost-net из состава ядра Linux"
Отправлено Ordu , 16-Апр-20 12:39 
Ядро упало, от переполнения стека. Ну это знаешь как всегда: почитал про уязвимость, руки так и тянутся попробовать её в деле.

"Уязвимость в драйвере vhost-net из состава ядра Linux"
Отправлено Аноним , 16-Апр-20 12:55 
Это как нет антивируса нет вируса.

"Уязвимость в драйвере vhost-net из состава ядра Linux"
Отправлено iPony129412 , 16-Апр-20 13:05 
Они добавляют спустя несколько дней, как и починят и всё уже будет известно.
Ну лень несколько раз редактировать.

"Уязвимость в драйвере vhost-net из состава ядра Linux"
Отправлено Аноним , 16-Апр-20 10:35 
Быстро. Бесплатно. Дыряво.

"Уязвимость в драйвере vhost-net из состава ядра Linux"
Отправлено Анонкос , 16-Апр-20 15:33 
Медленно, за деньги, дыряво и поболее, не юзабельно.

"Уязвимость в драйвере vhost-net из состава ядра Linux"
Отправлено kuku , 17-Апр-20 02:06 
отпетая фигня...

"Уязвимость в драйвере vhost-net из состава ядра Linux"
Отправлено нах. , 16-Апр-20 11:07 
crw------- 1 root root 10, 238 Sep 11  2019 /dev/vhost-net
crw------- 1 root root 10, 241 Sep 11  2019 /dev/vhost-vsock

опять надо эту уязвизьгмость запускать от рута уже полученного на хосте? Расходимся, сенсация не состоялась.


"Уязвимость в драйвере vhost-net из состава ядра Linux"
Отправлено PnD , 16-Апр-20 12:10 
А вам надо переписать эксплоит прямо под qemu-kvm? Чтобы любой киддис мог покласть хост с 50…100 ВМ? (На моей грядке это типовая загрузка гипервизора.)

"Уязвимость в драйвере vhost-net из состава ядра Linux"
Отправлено нах. , 16-Апр-20 12:54 
пишите, чо. Донатов не обещаю, но точно пригодится.
У меня масса друзей.

Но подходящий баг придется самому поискать, от этого - пользы никакой, увы.



"Уязвимость в драйвере vhost-net из состава ядра Linux"
Отправлено Нанобот , 16-Апр-20 12:15 
берёшь виртуальную машину где-нибудь в aws/gce/azure, запускаешь эксплоит и роняешь хост вместе с сотней других виртуалок

"Уязвимость в драйвере vhost-net из состава ядра Linux"
Отправлено нах. , 16-Апр-20 12:51 
к сожалению, уронить таким способом получится только вложенные виртуалки, которые ты сам внутри этой виртуальной машины зачем-то запустил.

это драйвер _хоста_, не виртуалки. Тот vhost-net что внутри нее - он не для общения с хостом, а чтоб самому им быть.


"Уязвимость в драйвере vhost-net из состава ядра Linux"
Отправлено Нанобот , 17-Апр-20 15:50 
а, ну тогда да, абсолютно безвредный баг, на "уязвимость" не тянет

"Уязвимость в драйвере vhost-net из состава ядра Linux"
Отправлено нах. , 18-Апр-20 16:15 
гугль же ж. То есть тянет на средство обхода дополнительных костылей и прокладок поверх стандартных юниксовых прав - selinux, cgroups и т д.

Но, увы, только крэш.