
ТА-ДАМ! 🎉 Линус, прости — твой ядро теперь дырявее швейцарского сыра
ЩИТО?! Ты думал, что твой Linux — это неприступная крепость? Ха! Знакомься: CVE-2024-50264. Баг уровня «Попкорн-апокалипсис», который только что снес Pwnie Awards 2025 как «Лучшее повышение привилегий». И да, он живет в твоем ядре с версии 4.8. То есть, если ты не обновлялся с эпохи, когда TikTok был для котиков — поздравляю, ты в зоне риска. Наш герой — не суперзлодей из Голливуда, а скромный (ха-ха) независимый исследователь Александр Попов. Он не взломал Пентагон. Он взломал гонку состояний. Звучит скучно? Подожди, будет веселее. Всё начинается с AF_VSOCK — звучит как название инопланетного вируса, но на деле это просто подсистема для виртуальных сокетов. Там, глубоко в коде, спрятался классический use-after-free. Проще говоря: система освобождает память, а потом... снова ее использует. Как если бы ты выкинул старый холодильник, а потом полез в него за пивом. И удивился, что пива нет, а рука — в мусорном баке. Раньше все думали: «Ну и что? SLAB, рандомизация, кэши — фиг что эксплуатируешь!» И были правы. Почти. Попов просто посмотрел на это и сказал: «А что, если мы... пошлем сигнал?» Да-да. POSIX-сигнал. Не тот, что убивает процесс. А тот, что прерывает connect(). Это как дернуть за шнур в поезде — система дергается, теряет концентрацию, и в этот момент наш герой впихивает свою структуру памяти ровно туда, где ядро ожидает увидеть свой старый, добродушный объект virtio_vsock_sock. Только теперь там сидит троянский конь, начиненный злобой и указателями. А дальше — как в боевике. Он цепляет msg_msg — систему очередей сообщений — и начинает читать память ядра. Представь: ты зашел в чужой дом, а там на столе лежат все пароли, ключи от сейфа и фото в купальнике администратора. Потом он переключается на pipe_buffer — и вот уже он не читает, а пишет куда хочет. Dirty Pipe? Dirty Pagetable? Это их извращенный любовный ребенок, рожденный в адских условиях современных защит. Самое гениальное? Тактика «спидрана». Он не пытается попасть в яблочко с первого раза. Он тысячи раз дергает соединение, как одержимый геймер, проходящий сложный босс-файт. Пока не поймает идеальный момент, когда объекты в памяти выстроятся, как солдатики перед инспекцией — и БАХ! Контроль над ядром в кармане. Это не просто баг. Это шедевр цифрового безумия. Это доказательство, что никакие рандомизации и кэши не спасут тебя, если против тебя стоит параноик с кофе и отладчиком. Попов не просто нашел дыру — он написал инструкцию, как ее превратить в портал в ад для системных администраторов. Что делать? (кроме паники и молитв Линусу) ОБНОВИСЬ! Если ты на ядре ниже 6.8.12 — ты ходячая мишень. Беги, не оглядываясь. Отключи AF_VSOCK, если не используешь виртуальные машины. Зачем держать дверь открытой? kernel-hack-drill? Да, это звучит как тренажер для хакеров. Но знаешь что? Это еще и лучший симулятор для защитников. Пусть твои специалисты по безопасности играют в него, пока не начнут видеть гонки состояний во сне. Пересмотри политики безопасности. Если ты думаешь, что локальный пользователь — это «безопасно», пришло время перечитать этот абзац. Громко. Несколько раз. Этот баг — не просто уязвимость. Это зеркало. Оно показывает: ядро Linux — не монолит. Это хрупкий, живой организм, полный демонов кода, которые просто ждут, когда ты отвернешься. И Александр Попов? Он не враг. Он — тот, кто включил свет в самом темном углу твоего сервера. P.S. DarkBytes напоминает: это юмор. Если вы не обновили ядро после прочтения — вы не жертва бага, вы его соучастник. Ваша безответственность — лучший друг цифровых гремлинов. Они уже ставят вам свечку. // Тимур Козлов, ваш весёлый охотник на баги