В 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. 

Apple срочно закрыла 0-day в iOS после шпионской атаки

Apple вчера вечером выпустила обновления своих ОС. Среди них стоит отметить патчи для устройств iPhone и iPad, закрывающие критическую уязвимость нулевого дня, которая уже используется в реальных атаках. Речь идёт о баге с идентификатором CVE-2026-20700.

По словам Apple, эксплойт применялся в «очень сложной атаке» против конкретных людей.

Такая формулировка у Apple появляется нечасто; как правило, она подразумевает целевые кибератаки уровня коммерческого шпионского софта. Обнаружили проблему специалисты Google Threat Analysis Group (TAG) — команды, которая как раз охотится за правительственными кибергруппами.

Атаки, скорее всего, были направлены на журналистов, дипломатов, активистов или других «интересных» для разведки персон, а не на массового пользователя.

Уязвимость находится в dyld — это динамический загрузчик библиотек, один из базовых компонентов iOS и iPadOS. Он отвечает за то, чтобы при запуске приложения система корректно подгружала нужные библиотеки и фреймворки.

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

Apple прямо указывает, что CVE-2026-20700, вероятно, использовалась в составе более широкой цепочки эксплуатации. Одновременно были закрыты ещё две уязвимости — CVE-2025-14174 и CVE-2025-43529. Судя по всему, атакующие комбинировали несколько багов, чтобы обойти современные механизмы защиты.

Патч уже доступен в составе iOS 26.3 и iPadOS 26.3. Обновление касается широкого списка устройств:

  • iPhone 11 и новее;
  • iPad Pro 12,9″ (3-го поколения и новее);
  • iPad Pro 11″ (1-го поколения и новее);
  • iPad Air 3-го поколения и новее;
  • iPad 8-го поколения и новее;
  • iPad mini 5-го поколения и новее.

С учётом подтверждённой эксплуатации откладывать обновление точно не стоит. Чтобы установить патч, достаточно зайти в «Настройки» → «Основные» → «Обновление ПО» и установить iOS 26.3 или iPadOS 26.3.

Даже если атака была таргетированной, практика показывает: инструменты, созданные для точечных операций, рано или поздно могут утечь или масштабироваться. В таких случаях лучшая стратегия — просто обновиться и закрыть вопрос.

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