Ошибка в один символ: восклицательный знак привел к критическому поражению ядра Linux

19 червня 2026 р. 17:58

19 червня 2026 р. 17:58


Исследователи проанализировали уязвимость Linux высокого уровня опасности, которая позволяет повысить привилегии недоверенных пользователей до уровня root путем эксплуатации ошибки, которую встречают нечасто: одного-единственного ошибочного символа внутри ядра.

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

Один восклицательный знак

Наличие одного неправильно использованного восклицательного знака в коде, реализующем nf_tables, привело к возникновению ошибки типа use-after-free — класса уязвимостей, который повреждает память путем размещения вредоносного кода по адресам памяти, которые не были должным образом очищены от предыдущего содержимого. CVE-2026-53111 может быть использована непривилегированным пользователем или процессом для повышения системных прав до уровня root.

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

Почему это сработало

Когда карта verdict удаляется из памяти, catchall-элементы деактивируются, а счетчик ссылок цепи уменьшается. Если возникают ошибки, удаление может быть отменено, а счетчик — увеличен. CVE-2026-53111 позволяет изменить этот процесс. В результате эксплойт может произвольное количество раз уменьшать значение переменной, после чего удалять и освобождать цепочку, даже если некоторые объекты все еще содержат ссылку на нее.

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

Не единственная проблема

Уязвимость была исправлена в ядре, а впоследствии перенесена в основные дистрибутивы Linux. Компания по кибербезопасности FuzzingLabs продемонстрировала proof-of-concept эксплойт в апреле. Exodus Intelligence, которая обнаружила эту ошибку, также включила собственный PoC-эксплойт в свой понедельничный пост. Он успешно работал на Debian и Ubuntu.

“CVE-2026-53111 является одной по меньшей мере из трех мощных уязвимостей повышения привилегий, которые поразили Linux в последние недели. Эти уязвимости являются серьезными, поскольку в сочетании с другими эксплойтами они могут использоваться для обхода механизмов безопасности, встроенных в операционную систему”, — отмечает ArsTechnica.

Этот случай уже называют показательным примером того, насколько критическими могут быть даже минимальные ошибки в коде ядра Linux. Согласно описанию CVE, один лишний восклицательный знак изменил логику обработки catchall-элементов в nf_tables, что в конечном итоге приводило к use-after-free и открывало путь к локальному повышению привилегий. Несмотря на относительно небольшой объем изменений в исправлении, проблема получила высокий уровень опасности и была срочно закрыта в основных ветках ядра и распространенных Linux-дистрибутивах.

Все как в Windows: новая дыра в Linux открывает root-доступ почти без шансов на защиту

Спецпроекты

Источник: ArsTechnica

Ошибка в один символ: восклицательный знак привел к критическому поражению ядра Linux

Джерело: itc.ua (Софт)

Завантажуєм курси валют від minfin.com.ua