Опубликован 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 с завидной регулярностью. Такие дыры очень опасны, так как позволяют полностью скомпрометировать систему.

Критическая уязвимость в плагине WPvivid Backup затронула 900 000 сайтов

Уязвимость, выявленная в популярном WordPress-плагине для создания резервных копий, позволяет без аутентификации загрузить на сайт вредоносный код PHP и запустить его на исполнение. Патч включен в состав WPvivid Backup & Migration 0.9.124.

Уязвимости подвержены все прежние версии продукта. Ввиду высокой опасности и масштабности проблемы (на счету WPvivid Backup уже свыше 900 тыс. установок) пользователям настоятельно рекомендуется произвести обновление.

Правда, в блог-записи Wordfence сказано, что CVE-2026-1357 (9,8 балла CVSS) критична лишь для тех, у кого настройки плагина предусматривают обработку сгенерированным ключом — в обеспечение загрузки резервных копий с других сайтов. По умолчанию эта возможность отключена, а срок действия ключа ограничен 24 часами.

Согласно описанию, причин появления уязвимости две: неадекватная обработки ошибок при расшифровке по RSA и отсутствие санации пути при записи загруженных файлов.

Как оказалось, когда плагин тщетно пытался расшифровать сеансовый ключ, он не завершал выполнение, а передавал ложное значение $key в phpseclib для инициализации шифрования.

Криптобиблиотека воспринимала его как строку нулевых байтов, что открыло возможность для шифрования полезной нагрузки дефолтным, легко угадываемым 0-байтовым ключом.

 

Ситуацию усугубило отсутствие проверок типа файлов и их расширений в функции send_to_site(). Это провоцировало выход за пределы защищенного каталога резервных копий — загрузку на сервер произвольного PHP-кода с записью в публично доступные места с тем, чтобы он каждый раз отрабатывал в браузере.

Апдейт, устраняющий эти недостатки, вышел 28 января. Автор опасной находки получил 2145 долларов в рамках программы Wordfence Bug Bounty.

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