В LLVM/Clang добавлена техника защиты стека SafeStack

В LLVM/Clang добавлена техника защиты стека SafeStack

В компилятор Clang добавлен код подсистемы SafeStack, предназначенной для защиты от типовых ошибок, вызванных повреждением памяти в результате работы со стеком и являющихся причиной большого числа эксплуатируемых уязвимостей (например, в 2014 году в Firefox было выявлено 55 подобных уязвимостей).

SafeStack позволяет предотвратить получение контроля над помещёнными в стек указателями в программах на C/C++ через сохранение указателей (адреса возврата, указатели на функции и т.п.) в отдельной изолированной области памяти, доступ к которой производится только с использованием специальных проверок корректности обращения к памяти. Таким образом, стек приложения разделяется на две части - защищённый стек для хранения указателей, адресов из регистров и локальных переменных, и незащищённый стек, в котором сохраняется всё остальное. В защищённый стек данные добавляются только после статической проверки и доступ к ним ограничен, что существенно усложняет организацию получения контроля над выполнением кода в результате совершения атак, пишет opennet.ru.

Накладные расходы от реализуемых в SafeStack дополнительных проверок несущественны и составляют 0.01-0.05%, что существенно меньше, чем при использовании методов на основе добавления меток в стек (stack cookies). Более того, в некоторых случаях наблюдается даже ускорение работы программы за счёт более эффективного использования кэша. Метод защиты отмечен как стабильный и уже опробованный при сборке Chromium, базовой системы FreeBSD и более 100 пакетов. Для включения SafeStack в clang добавлены новые опции "-fsafe-stack" и "-fno-safe-stack" (по умолчанию новый режим отключен), для отключения режима для отдельных функций реализован атрибут no_safe_stack. 

Подпишитесь на новости

Claude обошёл защиту Linux и добился удалённого выполнения команд с root

Исследовательская модель Claude после первоначальной постановки задачи написала эксплойт, позволивший удалённо выполнять команды с правами root на Linux-сервере. Без пароля и действий пользователя, но в конкретной конфигурации с многопутевым TCP, или MPTCP.

О результатах Anthropic рассказала в техническом отчёте. Для работы использовали внутреннюю, ещё не выпущенную модель, повторить эксперимент обычным запросом в чат корпорация не обещает.

Эксплойт задействует CVE-2026-98432 — уязвимость использования памяти после освобождения в сетевом стеке ядра. Во время параллельной обработки TCP-запросов одна часть кода может освободить данные, пока другая продолжает с ними работать.

В демонстрации атака состояла из двух этапов. Сначала эксплойт обошёл KASLR — механизм случайного размещения ядра в памяти. На получение нужного адреса ушло 48 минут. Ещё около пяти минут потребовалось для перехвата управления и запуска команды с правами root.

Оценки риска различаются: команда Linux присвоила ошибке 9,8 балла по CVSS, Red Hat — 5,9, указав на сложность эксплуатации. Патч уже внесён в основную ветку Linux и поддерживаемые стабильные ветки, однако наличие обновления нужно проверять у поставщика дистрибутива.

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