В ядре Linux нашли уязвимость из-за ошибочного символа

В ядре Linux нашли уязвимость из-за ошибочного символа — Tech | Versia.media

Исследователи из Exodus Intelligence обнаружили уязвимость в ядре Linux, дающую возможность недоверенным пользователям повышать свои привилегии до уровня root. Проблема вызвана единственным ошибочным символом в коде ядра.

Уязвимость, зарегистрированная как CVE-2026-23111, локализована в подсистеме nf_tables. Этот компонент ядра Linux отвечает за фильтрацию пакетов. nf_tables применяется для управления правилами брандмауэра и приходит на смену более старым подсистемам, включая iptables, ip6tables, arptables и ebtables.

Если заменить некорректно введённый восклицательный знак в коде nf_tables, возникает уязвимость типа use-after-free. Она повреждает память, размещая вредоносный код по адресам, которые не были должным образом освобождены от предыдущего содержимого. Данная ошибка может эксплуатироваться непривилегированным пользователем или процессом для получения root-доступа в системе.

Уязвимость связана с процессом удаления определений в рамках фреймворка nf_tables, которые определяют, соответствует ли пакет правилу, требующему выполнения конкретного действия. В этом процессе могут задействоваться элементы catchall, выступающие в роли подстановочного знака, если поиск не находит совпадений ни с одним другим элементом в наборе.

При удалении карты определений из памяти элементы catchall деактивируются, а счётчик ссылок цепочки уменьшается. Однако при возникновении ошибок удаление может быть отменено, а счётчик — увеличен. Эксплойт способен многократно уменьшать значение переменной, а затем удалить и освободить цепочку, когда некоторые объекты всё ещё ссылаются на неё.

«В данном случае мы показали, как один неверный восклицательный знак привёл к уязвимости использования памяти после освобождения, которую непривилегированный пользователь в Debian и Ubuntu может применить для повышения привилегий до уровня root. Хотя эксплойт многократно активирует уязвимость use-after-free, приводящую к утечке базового адреса ядра, утечке адресов кучи и перехвату потока управления, тесты на стабильность продемонстрировали более 99% стабильности в неактивной системе», — заявили в Exodus Intelligence.

Ошибка была исправлена в ядре Linux в феврале. Компания FuzzingLabs представила эксплойт в апреле, а Exodus Intelligence опубликовала собственный эксплойт, работающий на Debian и Ubuntu.

Ранее Arm обнародовала информацию об уязвимости в своих процессорах, позволяющей осуществлять запись в ресурсы с более высоким уровнем исключений (Exception Level). Потенциально злоумышленник может добиться повышения привилегий в системе. В качестве временного решения для блокировки уязвимости для ядра Linux был выпущен патч, который пока не включён в состав корректирующих обновлений.

← Tech