Remote Schwachstelle am Linux Kernel déi geschitt wann Dir den TIPC Protokoll benotzt

В модуле ядра Linux, обеспечивающем работу сетевого протокола TIPC (Transparent Inter-process Communication), выявлена уязвимость (CVE-2022-0435), потенциально позволяющая выполнить свой код на уровне ядра через отправку специально оформленного сетевого пакета. Проблема затрагивает только системы с загруженным модулем ядра tipc.ko и настроенным стеком TIPC, который обычно используется в кластерах и по умолчанию не активирован в неспециализированных дистрибутивах Linux.

Отмечается, что при сборке ядра в режиме «CONFIG_FORTIFY_SRC=y» (применяется в RHEL), добавляющем дополнительные проверки границ в функцию memcpy(), эксплуатация ограничивается аварийной остановкой работы (ядро впадает в состояние panic). При выполнении без дополнительных проверок и при утечке сведений о канареечных метках, применяемых для защиты стека, проблема может быть использована для удалённого выполнения кода с правами ядра. Выявившие проблему исследователи заявляют, что техника эксплуатации тривиальна и будет раскрыта после повсеместного устранения уязвимости в дистрибутивах.

Уязвимость вызвана переполнением стека, происходящем при обработке пакетов, значение поля с числом узлов участников домена, в которых превышает 64. Для хранения параметров узлов в модуле tipc.ko используется фиксированный массив «u32 members[64]», но в процессе обработки указанного в пакете номера узла не выполняется проверка значения «member_cnt», что позволяет использовать значения больше 64 для контролируемой перезаписи данных в области памяти, следующей в стеке после структуры «dom_bef».

Приводящая к уязвимости ошибка была внесена 15 июня 2016 года и вошла в состав ядра Linux 4.8. Уязвимость устранена в выпусках ядра Linux 5.16.9, 5.15.23, 5.10.100, 5.4.179, 4.19.229, 4.14.266 и 4.9.301. В ядрах большинства дистрибутивов проблема пока остаётся неисправленной: RHEL, Debian, Ubuntu, SUSE, Fedora, Gentoo, Arch Linux.

Den TIPC Protokoll gouf ursprénglech vum Ericsson entwéckelt, entwéckelt fir Inter-Prozess Kommunikatioun an engem Cluster ze organiséieren an ass haaptsächlech op Clusternoden aktivéiert. TIPC kann iwwer Ethernet oder UDP (Netzhafen 6118) funktionnéieren. Wann Dir iwwer Ethernet schafft, kann d'Attack aus dem lokalen Netzwierk duerchgefouert ginn, a wann Dir UDP benotzt, vum globalen Netz, wann den Hafen net vun enger Firewall ofgedeckt ass. Den Attack kann och vun engem onprivilegéierte lokale Benotzer vum Host duerchgefouert ginn. Fir TIPC z'aktivéieren, musst Dir den tipc.ko Kernel Modul eroflueden an d'Bindung un d'Netzwierkschnitt konfiguréieren mat Netlink oder dem tipc Utility.

Source: opennet.ru

Setzt e Commentaire