В ядре Linux закрыты четыре уязвимости повышения привилегий, каждая из которых позволяет локальному атакующему повредить память ядра и получить права root. Проблемы получили имена DirtyAH6, TUNderflow, PPPoEject и DiagSpill, им присвоены идентификаторы CVE-2026-80844, CVE-2026-81000, CVE-2026-68121 и CVE-2026-74469. Все они затрагивают давно существующий сетевой код, исправления уже включены в поддерживаемые стабильные ветки.
DirtyAH6: выход за границы буфера в обработке IPv6 AH
Уязвимость CVE-2026-80844 находится в коде Linux IPsec/XFRM, отвечающем за обработку заголовка аутентификации (Authentication Header, AH) в IPv6. Ядро обрабатывает некорректные значения routing-header, не проверяя должным образом поле segments_left. Это уводит внутренний указатель за пределы выделенной области памяти и вызывает операцию чтения или записи за границами буфера.
По своей природе это локальное повышение привилегий: эксплуатировать баг можно, если атакующий способен создавать или контролировать подходящие сетевые пространства имён. Системы, работающие как IPv6-маршрутизаторы или шлюзы с AH в transport mode, при узких условиях могут столкнуться с удалённым отказом в обслуживании. Исследователь продемонстрировал удалённый доступ с правами root в лабораторных условиях с применением memory grooming, однако достичь этого чисто удалённой атакой, по его описанию, крайне сложно.
TUNderflow: целочисленное переполнение в TUN/TAP
CVE-2026-81000 затрагивает подсистему виртуальных сетевых устройств TUN/TAP. Локальный пользователь может передать завышенные значения receive-headroom через определённые конфигурации сетевых устройств, включая пути Open vSwitch. Ошибка приводит к целочисленному переполнению вниз (integer underflow) при выделении буфера сокета, из-за чего данные пакета оказываются за пределами выделенной памяти — открывается возможность для чтения и записи за границами буфера.
PPPoEject: use-after-free в PPP over Ethernet
Уязвимость CVE-2026-68121 — use-after-free в реализации PPP over Ethernet. Функция pppoe_sendmsg() сохраняет указатель на заголовок PPPoE, пока вызывает функцию заголовка устройства нижнего уровня. Этот обратный вызов может перераспределить буфер сокета и сделать исходный указатель недействительным. Последующие записи через устаревший указатель способны повредить освобождённую память ядра. Патч в upstream перезагружает указатель на заголовок после создания заголовка устройства.
DiagSpill: переполнение в диагностике SCTP
CVE-2026-74469 затрагивает диагностическую отчётность SCTP через sock_diag. Ассоциация SCTP может содержать до 65 536 peer transports, тогда как связанный счётчик имеет ширину всего 16 бит. При достижении лимита счётчик обнуляется, и диагностический код резервирует недостаточно места перед копированием информации о peer-транспортах. Возникающая перезапись может выходить далеко за пределы буфера ответа Netlink.
В отличие от первых трёх проблем, DiagSpill не требует непривилегированных пользовательских пространств имён или специальных возможностей Linux — достаточно наличия поддержки SCTP и sctp_diag. Удалённые условия для краха также могут существовать, если включены функции конфигурации адресов SCTP, однако по умолчанию они отключены.
Какие версии ядра закрывают все четыре дыры
Исследователь Asim Viladi Oglu Manizada сообщил о проблемах команде безопасности ядра Linux в середине июля. Патчи выпущены в рамках скоординированного раскрытия и доступны в поддерживаемых стабильных ветках. Первые стабильные версии, устраняющие весь набор, — Linux 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.109, 6.18.50 и 7.2.4.
Администраторам следует обновиться до релиза ядра, содержащего все четыре исправления. Если немедленный патч невозможен, организациям стоит ограничить непривилегированные пользовательские пространства имён и отключить неиспользуемые функции AH6, TUN/TAP, PPPoE, SCTP или sctp_diag. Важная оговорка: отключение user namespaces не закрывает DiagSpill и не заменяет установку обновлений ядра от вендора.
Тема перекликается с другими свежими историями про эскалацию привилегий в ядре — например, с девятилетней уязвимостью RefluXFS, которую Qualys нашла с помощью ИИ, и с добавлением уязвимостей ядра Linux в каталог CISA KEV.
Частые вопросы
Кого касаются эти уязвимости?
Всех, кто работает на уязвимых версиях ядра Linux. Три бага (DirtyAH6, TUNderflow, PPPoEject) требуют локального доступа и, как правило, непривилегированных пользовательских пространств имён; DiagSpill срабатывает при наличии поддержки SCTP и sctp_diag даже без них.
Как проверить свою версию ядра?
Выполните uname -r и сравните результат с исправленными версиями: 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.109, 6.18.50, 7.2.4. Если ваша версия ниже соответствующей ветки, обновление ещё не установлено.
Какие версии ядра закрывают все четыре уязвимости сразу?
Полный набор исправлений впервые появился в Linux 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.109, 6.18.50 и 7.2.4. Более ранние патчи в этих ветках могут закрывать лишь часть проблем.
Что делать, если обновиться прямо сейчас нельзя?
Ограничьте непривилегированные пользовательские пространства имён и отключите неиспользуемые функции AH6, TUN/TAP, PPPoE, SCTP или sctp_diag. Помните, что это лишь временная мера: отключение user namespaces не защищает от DiagSpill.
Защищает ли отключение user namespaces от всех четырёх багов?
Нет. DiagSpill (CVE-2026-74469) не требует непривилегированных пользовательских пространств имён и специальных возможностей Linux, поэтому эта мера его не закрывает. Единственный полноценный способ — установить обновление ядра.
Можно ли эксплуатировать DirtyAH6 удалённо?
Теоретически да, но с большими оговорками. Системы-маршрутизаторы и шлюзы IPv6 с AH в transport mode могут получить удалённый отказ в обслуживании при узких условиях; удалённый root исследователь получил только в лаборатории с memory grooming и назвал такой сценарий крайне сложным.
Нужны ли особые права для эксплуатации DiagSpill?
Нет. В отличие от остальных трёх уязвимостей, DiagSpill не требует непривилегированных пользовательских пространств имён или специальных возможностей — достаточно, чтобы в системе были доступны SCTP и sctp_diag.
Кто обнаружил эти уязвимости?
Проблемы нашёл исследователь Asim Viladi Oglu Manizada и сообщил о них команде безопасности ядра Linux в середине июля. Патчи вышли в рамках скоординированного раскрытия.
Источник: cybersecuritynews.com