Опубликован PoC-эксплойт к уязвимости double-free в Linux Netfilter

Опубликован PoC-эксплойт к уязвимости double-free в Linux Netfilter

Опубликован PoC-эксплойт к уязвимости double-free в Linux Netfilter

Год назад в подсистеме Linux Netfilter (модуле ядра nf_tables) была выявлена и устранена уязвимость двойного освобождения памяти. Недавно для нее был создан PoC-эксплойт, позволяющий локально повысить привилегии до root.

Причиной появления проблемы CVE-2024-26809 является логическая ошибка, проявляющаяся при выполнении функции nft_pipapo_destroy() на наборах политик с флагом dirty («грязный»). Когда какой-то элемент сдублирован, он из-за перекрытия областей памяти удаляется дважды.

Вызвать ошибку double-free, по словам автора PoC, можно следующим образом:

  1. Создать pipapo-набор (A).
  2. Создать в нем элемент B.
  3. Добавить элемент C, чтобы отмаркировать A как dirty.
  4. Одновременно подать команду на уничтожение A — nft_pipapo_destroy() удалит B дважды из-за CVE-2024-26809.

Эксплойт требует наличия доступа к nftables (прав CAP_NET_ADMIN, которые можно получить в любом user namespace или network namespace) и выполняется примерно так же, как CVE-2024-1085 — через манипуляцию данными в куче с использованием кеша ядра kmalloc-256. Успешная атака откроет возможность для выполнения любого кода на уровне ядра.

Уязвимости подвержены Linux версий 6.1-rc1 и новее, а также 5.15.54 и выше. Патч опубликован в виде коммита, пользователям настоятельно рекомендуется произвести обновление.

Заметим, уязвимости по памяти всплывают в Linux Netfilter с завидной регулярностью. Такие дыры очень опасны, так как позволяют полностью скомпрометировать систему.

Исследователь заставил Kaspersky Endpoint Security записать DLL в System32

Независимый исследователь под псевдонимом Nightmare Eclipse опубликовал экспериментальный эксплойт HardBreacher для уязвимости в Kaspersky Endpoint Security. По его словам, неизвестная ранее брешь позволяет обычному пользователю обойти ограничения Windows и создать файл в защищённой директории C:\Windows\System32.

Эксплойт тестировался на полностью обновлённой Windows 11 25H2 с Kaspersky Endpoint Security 14.0.0.504.

При успешном запуске эксплойт создавал в System32 файл MY_SNAKE_IS_SOLID.dll, после чего предоставлял текущему непривилегированному пользователю полный доступ к нему. В нормальной ситуации стандартная учётная запись проделать такой трюк не может.

Предполагаемая проблема связана с взаимодействием защитного продукта и его интерфейсного процесса. Получив контроль над ним, исследователь смог влиять на операции с файлами и нарушать работу отдельных механизмов программы. Полные технические детали пока не раскрыты.

 

Сам автор признаёт, что HardBreacher работает нестабильно: запуски часто заканчиваются ошибкой, поэтому попытки приходится повторять. Стабильное выполнение произвольного кода с правами SYSTEM также не продемонстрировано.

Независимые специалисты пока не воспроизвели результат. Уязвимость не получила CVE, а «Лаборатория Касперского» публично не подтвердила проблему и не назвала возможные затронутые версии. Делать выводы обо всей линейке продуктов по одному испытанному выпуску рано.

Однако опубликованный код уже привлекает внимание. Ранее инструменты Nightmare Eclipse для обхода Microsoft Defender пытались применять в реальных атаках, хотя большинство попыток провалилось.

Update:

Официальный комментарий «Лаборатории Касперского»:

«"Лаборатория Касперского" устранила недостаток, обнаруженный с помощью экспериментальной утилиты HardBreacher. Обновление с необходимыми исправлениями выпущено и устанавливается автоматически — при необходимости пользователи также могут запустить его вручную».

RSS: Новости на портале Anti-Malware.ru