«PPD:», Vim и искусственный интеллект. Инженер SpaceX нашел способ взломать почти любой сервер на Linux

«PPD:», Vim и искусственный интеллект. Инженер SpaceX нашел способ взломать почти любой сервер на Linux

В системе CUPS нашли дыры, дающие права root.

image

Инженер по безопасности SpaceX Асим Манизаде вместе с командой ИИ-агентов для поиска уязвимостей обнаружил две бреши в CUPS — стандартной системе печати Unix и Linux. Связав уязвимости в цепочку, злоумышленник без какой-либо аутентификации может удалённо выполнить произвольный код и перезаписать файлы с правами root.

CUPS (Common Unix Printing System) — излюбленная мишень исследователей безопасности. Система по умолчанию используется в macOS, большинстве дистрибутивов Linux и других Unix-подобных операционных системах, поэтому любая уязвимость в ней имеет огромный радиус поражения.

Манизаде вдохновился работой разработчика Симоне Маргарителли, который в 2024 году выстроил цепочку из нескольких уязвимостей CUPS для удалённого выполнения кода. Новые бреши — CVE-2026-34980 и CVE-2026-34990 — затрагивают CUPS версии 2.4.16. Патч пока не выпущен, хотя исправления уже доступны в виде публичных коммитов.

Первая уязвимость, CVE-2026-34980, требует, чтобы сервер CUPS был доступен по сети и предоставлял общую очередь печати PostScript. Такая конфигурация типична для корпоративных сред, где несколько компьютеров делят один принтер. На домашних машинах подобная настройка встречается крайне редко. Если условия соблюдены, атакующий без аутентификации может отправить задание на печать в общую очередь и выполнить произвольный код от имени пользователя lp.

Механизм атаки строится на нескольких особенностях обработки данных в CUPS. Система по умолчанию принимает анонимные запросы на печать и блокирует удалённую печать только для непубличных очередей. При обработке параметров CUPS экранирует переводы строк обратным слешем, а затем удаляет слеш при повторном разборе — злоумышленник может встроить в перевод строки вредоносный код, который переживёт оба этапа разбора. Вдобавок CUPS воспринимает записи с префиксом «PPD:» как доверенные управляющие команды планировщика. Атакующий модифицирует конфигурацию очереди, внедряет вредоносную запись в PPD и вторым заданием на печать заставляет CUPS запустить произвольный существующий бинарный файл — например, текстовый редактор Vim — от имени пользователя lp.

Вторая уязвимость, CVE-2026-34990, работает уже при стандартной конфигурации CUPS. Локальный непривилегированный пользователь обманом заставляет демон-планировщик cupsd аутентифицироваться на подконтрольном злоумышленнику IPP-сервисе с использованием многоразового токена авторизации. Атакующий поднимает фальшивый принтер на локальном хосте, провоцирует CUPS настроить соединение с поддельным принтером и через печать в созданную очередь получает возможность перезаписывать файлы с правами root.

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

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

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