Linux 7.0: один Bash-скрипт, одни выходные, 23 года багов в ядре

Linux 7.0: один Bash-скрипт, одни выходные, 23 года багов в ядре

Релиз Linux 7.0 состоялся 12 апреля 2026 года. Rust стал официальным языком ядра, а ИИ — полноправным участником разработки. Линус Торвальдс назвал это «новой нормальностью».

Двадцать три года. И один вечер.

Bash-скрипт Николаса Карлини запускает модель Claude Opus 4.6, чтобы проанализировать исходники ядра Linux. Модель ищет уязвимости, как на CTF-соревновании. Карлини не следит за процессом — он уже пробовал это раньше. Но в этот раз результат заставляет его замереть.

Модель находит критическую уязвимость в коде, отвечающем за сетевой обмен файлами — NFSv4. Этот код работает на файловых серверах в компаниях, больницах, школах и в облаках AWS, Google Cloud и Azure.

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

Баг был в ядре с марта 2003 года. До появления Git. Он затронул каждую Linux-систему за последние 23 года.

Карлини смотрит в историю коммитов. Никто не видел этого бага. Ни один ревьюер. Ни одна система анализа. Двадцать три года.

Позже он скажет на конференции: «Я в жизни не находил ничего подобного. Сделать это очень, очень сложно».

А всего потребовалось: один человек, одна неделя вычислений, один простой скрипт. Экономика изменилась.

Через три недели Линус Торвальдс выпускает Linux 7.0. В письме в рассылке он замечает: «Подозреваю, ИИ-инструменты еще какое-то время будут находить такие корнер-кейсы. Возможно, это и есть наша "новая нормальность"».

Этот релиз — поворотный момент. Не только из-за Rust или новых фич. А потому что ИИ стал не просто инструментом — он стал соавтором.

Февральское утро, когда «сопли» закончились

Грег Кроа-Хартман отвечает за стабильную ветку ядра и инбокс безопасности. Годами он получал в почту то, что называл «ИИ-помоями» — сгенерированные отчёты без реальных багов, с ошибками в строках, файлах, логике. У него даже была отдельная папка для этого мусора.

Но в один февральский день папка перестала пополняться.

Пришли настоящие баг-репорты. С точными строками. С воспроизводимыми шагами. С подтверждёнными первопричинами. В марте он сказал The Register: «Месяцы назад было ИИ-дно. А потом — всё изменилось. Теперь у нас реальные отчёты». Он добавил: «Мы не знаем почему. Никто не понимает».

То ли модели внезапно научились читать C. То ли ресерчеров наконец хватило. А может, и то, и другое.

Грег делает то, что должен: обновляет документацию. Перед релизом 7.0-rc7 он пушит правки в security-bugs.rst. Теперь файл объясняет, как ИИ-агентам правильно отправлять уязвимости. Указаны мейнтейнеры, формат отчёта, обязательные поля. Инбокс безопасности теперь принимает отчёты и от людей, и от ИИ.

Другая команда идёт дальше — не ждёт CVE, а анализирует сами коммиты. Роман Гущин из Google запускает проект Sashiko (названный в честь японской вышивки, написан на Rust). Он читает каждый патч в LKML.

На выборке из 1000 патчей Sashiko находит 53% багов, которые позже подтверждаются. Все они были пропущены живыми ревьюерами.

Когда Гущина спросили про 53%, он ответил: «Кто-то скажет — это не впечатляет. Но 100% этих проблем пропустили люди».

Где-то в архиве LKML лежит патч, который мог бы разбудить SRE в полночь. Sashiko его нашёл. Вы никогда не узнаете, что это был за патч.

Так и выглядит «новая нормальность» изнутри.

Rust победил. Обе стороны сдались

В день релиза Мигель Охеда отправляет последний пулл-реквест Rust-for-Linux с описанием: «Эксперимент окончен. Rust здесь всерьёз и надолго».

Четыре года назад за такую фразу на него бы накричали. Rust вошёл в Linux 6.1 как эксперимент — вопреки сопротивлению мейнтейнеров, считавших его политическим проектом или модой. Теперь плашка «эксперимент» снята. Rust — полноправный язык ядра.

Подсистемы сами решают, принимать ли Rust. Большинство кода остаётся на C. Но спор закончен.

Драйвер Nova — опенсорсная замена nouveau от NVIDIA — выходит с кодом на Rust. Инфраструктура Rust DRM от Данило Круммриха — в мейнлайне.

Но людей, которые боролись за это, в комнате уже нет.

Уэдсон Алмейда Фильо из Microsoft, лидер внедрения Rust, ушёл после четырёх лет конфликтов. Он назвал причины «нетехнической чушью» и ушёл. Его со-руководитель Алекс Гейнор ушёл в ту же неделю, когда Rust получил статус. Почётный круг прошёл без них.

С другой стороны — Кристоф Хеллвиг. 20 лет он был мейнтейнером DMA — критически важной подсистемы. Годом ранее он назвал смешение Rust и C «раком». Когда сообщество разрешило Rust-драйверам вызывать C-код через абстракцию, Хеллвиг ушёл в отставку. Его сменил Марек Шипровски.

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

Safe Rust делает невозможными целые классы багов: переполнения буфера, use-after-free, разыменование null. Тот самый 23-летний баг в NFSv4 — то, чего в Safe Rust просто не может быть по дизайну.

Теперь в ядре есть язык, на котором нельзя написать CVE из начала этой статьи. Люди, которые боролись за него, ушли. Человек, который боролся против, ушёл. А Linux 7.0 всё равно вышел.

ИИ-правила: тег Assisted-by

С релизом появилось новое правило: любой патч, написанный с помощью ИИ, должен содержать тег Assisted-by с указанием модели и инструментов. ИИ не может ставить Signed-off-by — это юридическое заявление, доступное только человеку. Ответственность за баги остаётся на разработчике.

Правило появилось не из-за дискуссий. Оно стало реакцией на скандал. Саша Левин из NVIDIA закинул в ядро патч, почти полностью сгенерированный ИИ, включая changelog. Он ничего не сказал. Код прошёл ревью. Но содержал регрессию производительности, которая попала в стабильную ветку и испортила кому-то неделю.

Линус Торвальдс, не терпящий долгих процедур, жёстко закрыл дебаты. Запреты он назвал «бессмысленным позерством». ИИ — инструмент. Ответственность — на человеке. Правило вступило в силу.

Red Hat поднял сложный вопрос: языковые модели обучаются на коде под GPL. Как подтвердить происхождение сгенерированного кода? Чей копирайт?

В Linux 7.0 этот вопрос не решён. И не исчезнет.

Ваша суббота. Ваш банк. Ваш 2035 год

RAID-контроллер в дата-центре запускает ночной SCRUB — проверку целостности дисков. Один бит в метаданных XFS переворачивается. Ноль стал единицей. Ядру это не нравится.

Раньше вы узнавали об этом двумя способами: сервис начинал глючить, или утром вы читали вывод xfs_repair. Оба — гарантия плохого понедельника.

В январе 2026 года Даррик Дж. Вонг отправил шестую версию патчсета для самовосстановления XFS. Он вошёл в 7.0.

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

Умножьте это на масштабы облаков. XFS — дефолт в RHEL, Rocky, AlmaLinux, Oracle Linux. Он стоит на образах в AWS, GCP, Azure. Большая часть энтерпрайз-инфраструктуры планеты стала надёжнее.

Во Франкфурте сервер SPARC M7 проводит сделку. Софт с 1998 года. Железо трогать нельзя. 12 апреля он получает обновление ядра. SPARC (наследие Sun 90-х) получает фикс fork/clone, поддержку clone3 и обновлённый API.

DEC Alpha получил фикс повреждения памяти в user-space. Motorola 68000 — свои патчи. А поддержку Intel i486 удалили. Процессор 1989 года. Совместимость с ним мешала оптимизациям. Код для 32-битных x86 остался, но без i486 — быстрее.

SPARC сохранили, потому что кто-то за него отвечает. От i486 отказались, потому что всем наплевать.

Новые AMD EPYC 9005 теперь эффективнее работают с зашифрованными виртуалками (SEV-SNP). Это фича, за которую банки и больницы платят облачным провайдерам, чтобы те не могли читать их данные. Для AWS и Azure это разница между прибыльным тарифом и красивым слайдом.

Постквантовая безопасность: в ядро добавлен алгоритм ML-DSA на трёх уровнях. Зачем? Сегодняшние криптоподписи могут быть взломаны квантовым компьютером. Таких пока нет. Но спецслужбы уже сегодня записывают трафик, рассчитывая расшифровать его в 2035 году.

ML-DSA закрывает эту дыру в 2026-м. А подпись через SHA-1 — устаревшую и уязвимую — выпилили окончательно.

Кнопка Copilot была майкрософтовской. Эти три — общие

В подсистему ввода input добавили три новых скан-кода. Их предложил Google в пулл-реквесте и написал спецификацию (HUTRR119) для USB-IF.

  • KEY_ACTION_ON_SELECTION (0x254) — запускает ИИ-действие над выделенным текстом: объяснить, сократить, найти.
  • KEY_CONTEXTUAL_INSERT (0x255) — открывает оверлей для генерации текста прямо в поле ввода.
  • KEY_CONTEXTUAL_QUERY (0x256) — предлагает подсказки, связанные с выбранным элементом.

В отличие от кнопки Copilot от Microsoft, эти клавиши — часть стандарта HID. Они агностичны к агентам. Производитель может привязать их к Claude, Gemini, llama.cpp или даже к bash-скрипту. Следующий ThinkPad, Dell XPS или Framework будет с ними.

Следующий 23-летний баг

Один релиз. Четыре сдвига парадигмы:

  • ИИ ревьюит патчи в рассылке с эффективностью 53%.
  • ИИ находит баг, скрывавшийся 23 года.
  • ИИ получает официальное признание через тег Assisted-by.
  • В ядро добавлены три физические клавиши для работы с ИИ-агентами.

Инфраструктура, построенная для ИИ, и ставшая безопаснее благодаря ИИ — всё это за одну неделю.

Если один человек с bash-скриптом нашёл уязвимость за выходные… сколько нашла внутренняя команда Google? Сколько — ваш вендор? Сколько — правительственные хакеры, которые уже заархивировали и молчат?

Линус назвал это «новой нормальностью». OpenSSL. GCC. Python. Postgres. Chromium. И тот 10-летний микросервис, который никто не трогал с тех пор, как автор уволился.

Все они могут содержать буфер на 112 байт и попытку записи на 1056. Никто не проверял.

Они просто ждут bash-скрипт, который ещё не написан.

Если у вас работает NFS — уже пора поставить патч для CVE-2026–31402. Если RHEL с XFS — тестируйте xfs_healer на стейджинге.

Но главное: если в проде у вас что-то написано до 2010 года, спросите у лидера безопасности — какой у вас план на тот день, когда кто-то натравит на этот код Claude?

Ответ «у нас есть код-ревью» больше не работает. Код-ревью пропускал этот баг 23 года.

Когда ваша кодовая база получит свою CVE от тупого скрипта — что будет в постмортеме?

Читать оригинал