Apple исправила уязвимости нулевого дня в Mac OS X и Safari

Apple исправила уязвимости нулевого дня в Mac OS X и Safari

Apple исправила уязвимости нулевого дня в Mac OS X и Safari

Apple выпустила обновления безопасности для Mac OS X и Safari для исправления уязвимостей нулевого дня, которые были недавно использованы для шпионажа.

Уязвимости, известные под именами CVE-2016-4655, CVE-2016-4656 и CVE-2016-4657 были обнаружены экспертами Citizen Lab и Lookout после того, как их стала активно эксплуатировать программа для слежения Pegasus. Есть точка зрения, что эта программа используется государственными органами для надзора.

Как оказалось, три уязвимости не затрагивают только IOS. Apple выпустили патч для устранения CVE-2016-4655 и CVE-2016-4656 в OS X Yosemite v10.10.5 и OS X El Capitan v10.11.6. И другой патч для CVE-2016-4657 в Safari (для OS X Mavericks v10.9.5 и OS X Yosemite v10.10.5).

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

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

Баги в ядре Linux скрываются в среднем 2 года, а иногда и 20 лет

История с первой CVE для Rust-кода в ядре Linux, которая недавно привела к падениям системы, выглядела почти как повод для оптимизма. В тот же день для кода на C зарегистрировали ещё 159 CVE — контраст показательный. Но новое исследование напоминает: проблема не только в языках программирования.

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

Исследовательница Дженни Гуанни Ку из компании Pebblebed проанализировала 125 183 бага за почти 20 лет развития ядра Linux — и результаты оказались, мягко говоря, неожиданными.

 

По данным исследования, средний баг в ядре Linux обнаруживают через 2,1 года после его появления. Но это ещё не предел. Самый «долгоиграющий» дефект — переполнение буфера в сетевом коде — прожил в ядре 20,7 года, прежде чем на него обратили внимание.

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

Исследование опирается на тег Fixes:, который используется в разработке ядра Linux. Когда разработчик исправляет ошибку, он указывает коммит, в котором баг был добавлен. Дженни написала инструмент, который прошёлся по git-истории ядра с 2005 года, сопоставил такие пары коммитов и вычислил, сколько времени баг оставался незамеченным.

В датасет вошли данные до версии Linux 6.19-rc3, охватывающие период с апреля 2005 по январь 2026 года. Всего — почти 120 тысяч уникальных исправлений от более чем 9 тысяч разработчиков.

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

  • CAN-драйверы — в среднем 4,2 года до обнаружения бага;
  • SCTP-стек — около 4 лет;
  • GPU-код — 1,4 года;
  • BPF — всего 1,1 года.

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

Отдельная проблема — неполные фиксы. Исследование показывает, что нередко разработчики закрывают проблему лишь частично. Например, в 2024 году был выпущен патч для проверки полей в netfilter, но уже через год исследователь нашёл способ его обойти.

Такие ситуации особенно опасны: создаётся ощущение, что проблема решена, хотя на самом деле она просто сменила форму.

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