Критическую уязвимость в ядре Linux x86 не замечали с 2020 года

Критическую уязвимость в ядре Linux x86 не замечали с 2020 года

Критическую уязвимость в ядре Linux x86 не замечали с 2020 года

В ядре Linux обнаружили уязвимость, которая тихо жила в системе несколько лет — и притом в одном из самых чувствительных мест. Речь идёт о механизме обработки page fault на архитектуре x86, то есть о коде, который срабатывает каждый раз, когда процессор фиксирует некорректный доступ к памяти.

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

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

На уязвимость обратил внимание инженер Intel Седрик Син (Cedric Xing), внимательно изучавший код обработки исключений. Как выяснилось, логика в функции do_page_fault() опиралась на устаревшее и, по сути, ошибочное допущение.

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

Но проблема оказалась глубже. Код смешивал два разных понятия — адрес (пользовательский или ядерный) и контекст выполнения. Обычно они совпадают, но не всегда.

Существуют ситуации, когда обращение идёт к памяти ядра, но в пользовательском контексте. В таких случаях некоторые ветки обработчика могли повторно включить прерывания — и вернуть управление туда, где ядро было уверено, что они всё ещё выключены.

Особенно показательной оказалась ветка __bad_area_nosemaphore(), где предпринимается попытка «восстановить правильное состояние», но на деле это происходило не всегда и не одинаково. В результате возникала асимметрия: в зависимости от пути выполнения система могла оказаться в неожиданном состоянии.

В итоге разработчики пришли к простому, но радикальному выводу: латать отдельные ветки бессмысленно. Вместо этого было принято решение гарантированно и безусловно отключать прерывания в одном конкретном месте — прямо перед возвратом управления в низкоуровневый обработчик page fault. Без условий, без проверок, без попыток «угадать» контекст.

Патчи уже вошли в ветку Linux 6.19, а также планируются к бэкпорту в поддерживаемые стабильные версии. Фактически оно устраняет дефект, появившийся ещё во времена Linux 5.8.

Хакеры вынесли более 4 млрд рублей с компьютеров российских бухгалтеров

В первом полугодии 2026 года киберпреступники развернули масштабную охоту на финансовые подразделения российских организаций. По данным «Кода Безопасности», под удар попали свыше 3000 госструктур, промышленных предприятий, банков и телеком-компаний.

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

В марте и апреле средний ущерб от одного инцидента достигал 10 млн рублей, а общие потери превысили 4 млрд. Один неосторожно открытый акт сверки, и финансовый план компании внезапно начинает выполнять кто-то другой.

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

После проникновения преступники могли работать внутри подтверждённой пользовательской сессии и отслеживать криптографические токены для дистанционного банковского обслуживания. При этом с кражей денег они нередко не спешили: месяцами изучали инфраструктуру, добирались до резервных копий и маскировались под ИТ-персонал.

Около 40% целевых атак на промышленность, госструктуры и критическую инфраструктуру в первом квартале преследовали разведывательные цели. Хакеров интересовали технологические документы, производственные мощности, результаты НИОКР, переписка и сведения об информационных системах.

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

В итоге резервная копия ещё может поднять остановленные системы, но вернуть похищенную информацию обратно уже не умеет. Здесь чудес не завезли.

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