Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-34990-poc — CVE-2026-34990 — CUPS <= 2.4.16 Локальное повышение привилегий | Kitploit
Инструменты/GitHubGitHub/bara-almustafa/cve-2026-34990-poc
Оборонительные ИнструментыПовышение привилегийАнализ уязвимостейЭксплуатацияВиртуализация для безопасностиТестирование на ПроникновениеОбучение и Образование
GitHubbara-almustafa/cve-2026-34990-poc

CVE-2026-34990-poc

CVE-2026-34990 — CUPS <= 2.4.16 Локальное повышение привилегий

Репозиторий
2 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-34990 — CUPS <= 2.4.16 Локальное повышение привилегий

Локальный непривилегированный пользователь → root, через утёкший токен авторизации CUPS Local и обходящую политику очередь печати file:///.

PoC от 0xcybersoldier

status platform language type CVE


Содержание

  • Обзор
  • Детали уязвимости
  • Затронутые версии
  • Цепочка атаки
  • Требования
  • Установка
  • Использование
  • Пример запуска
  • Как это работает изнутри
  • Устранение неполадок
  • Обнаружение
  • Меры противодействия
  • Ссылки
  • Отказ от ответственности
  • Автор

Обзор

CVE-2026-34990 — это уязвимость локального повышения привилегий в OpenPrinting CUPS, затрагивающая версии 2.4.16 и более ранние.

Локальный непривилегированный пользователь, имеющий доступ к демону CUPS (cupsd), может потенциально заставить его пройти аутентификацию на контролируемом злоумышленником сервисе IPP на интерфейсе loopback.

Полученный учётный данные Authorization: Local <token> затем могут быть повторно использованы против административного интерфейса CUPS.

Цепочка атаки в конечном итоге может быть использована для создания очереди печати file:/// и заставить cupsd записать контролируемый злоумышленником файл с привилегиями root.

Каноническая демонстрация использует drop-in файл sudoers для получения root-оболочки.

Этот репозиторий содержит однофайловый PoC на Python 3, реализующий цепочку атаки, включая более безопасный режим --check для демонстрации уязвимого поведения записи файлов без непосредственного создания постоянной конфигурации повышения привилегий.


Детали уязвимости

ПолеЗначение
CVE IDCVE-2026-34990
КомпонентOpenPrinting CUPS (cupsd)
Затронутые версии<= 2.4.16
Класс уязвимостиCWE-306 / CWE-284
ВоздействиеЛокальное повышение привилегий
Вектор атакиЛокальный
Требуемые привилегииНизкие
Взаимодействие с пользователемОтсутствует
ОбнаруженоAsim Viladi Oglu Manizada
РекомендацияGHSA-c54j-2vqw-wpwp

Затронутые версии

PoC нацелен на:

OpenPrinting CUPS <= 2.4.16

Проверьте локально запущенную версию CUPS:

curl -sI http://127.0.0.1:631 | grep -i '^Server:'

Пример:

Server: CUPS/2.4.16 IPP/2.1

Примечание: Проверьте актуальную рекомендацию upstream перед тем, как полагаться на диапазон затронутых версий в производственном исследовании, поскольку исправления поставщика и статус версий могут измениться.


Цепочка атаки

 [1] Локальный пользователь отправляет CUPS-Create-Local-Printer
         |
         | device-uri = ipp://127.0.0.1:9189/ipp/print
         v
 [2] cupsd подключается к контролируемому злоумышленником
     сервису IPP на loopback
         |
         v
 [3] Поддельный сервис IPP отвечает:
     401 Unauthorized
     WWW-Authenticate: Local trc="y"
         |
         v
 [4] CUPS/libcups повторяет запрос с:
     Authorization: Local <token>
         |
         v
 [5] Токен перехвачен
         |
         v
 [6] Токен повторно используется против административного интерфейса CUPS
         |
         v
 [7] Создаётся временный принтер file:// и
     переводится через рабочий процесс управления принтерами
         |
         v
 [8] Print-Job заставляет cupsd записать предоставленный
     документ в цель file://
         |
         v
 [9] Демонстрационная полезная нагрузка может изменить привилегированную
     конфигурацию, такую как sudoers
         |
         v
       ROOT

Требования

  • Python 3.8+
  • Только стандартная библиотека Python
  • Локальный доступ к оболочке как непривилегированный пользователь
  • Доступный сервис CUPS на 127.0.0.1:631
  • sudo доступен для демонстрации повышения привилегий
  • Система Linux с уязвимой версией CUPS

Внешние пакеты Python не требуются.


Установка

Клонируйте репозиторий:

git clone https://github.com/bara-almustafa/CVE-2026-34990-poc.git
cd CVE-2026-34990-poc

Сделайте PoC исполняемым:

chmod +x cve-2026-34990.py

Дополнительные зависимости не требуются.


Использование

Безопасный режим проверки

Начните с непостоянного режима проверки:

./cve-2026-34990.py --check

Режим проверки пытается продемонстрировать уязвимый примитив записи файла, принадлежащего root, используя временный проверочный файл, и очищает после теста.


Демонстрация root-оболочки

Режим по умолчанию демонстрирует полную цепочку повышения привилегий:

./cve-2026-34990.py

Выполнение команды от имени root

Команду можно указать с помощью:

./cve-2026-34990.py -c 'id'

Пример:

./cve-2026-34990.py -c 'id; whoami'

Опции

ФлагПо умолчаниюОписание
--cups-port631Локальный TCP-порт CUPS
--listen-port9189Порт loopback, используемый слушателем перехвата токена
--checkВыклБезопасный режим проверки
-c, --command—Выполнить команду после успешной эксплуатации
--proof-dir/var/tmpРодительский каталог для временных проверочных файлов
--attempts8Количество попыток записи файла
--iterations80Количество раундов запросов IPP на попытку

Пример запуска

$ ./cve-2026-34990.py --check

 ██████╗ ██╗  ██╗ ██████╗██╗   ██╗██████╗ ███████╗██████╗ ███████╗ ██████╗ ██╗     ██████╗ ██╗███████╗██████╗
██╔═████╗╚██╗██╔╝██╔════╝╚██╗ ██╔╝██╔══██╗██╔════╝██╔══██╗██╔════╝██╔═══██╗██║     ██╔══██╗██║██╔════╝██╔══██╗
██║██╔██║ ╚███╔╝ ██║      ╚████╔╝ ██████╔╝███████╗██████╔╝█████╗  ██║   ██║██║     ██║  ██║██║█████╗  ██████╔╝
████╔╝██║ ██╔██╗ ██║       ╚██╔╝  ██╔══██╗╚════██║██╔══██╗██╔══╝  ██║   ██║██║     ██║  ██║██║██╔══╝  ██╔══██╗
╚██████╔╝██╔╝ ██╗╚██████╗   ██║   ██████╔╝███████║██║  ██║███████╗╚██████╔╝███████╗██████╔╝██║███████╗██║  ██║
 ╚═════╝ ╚═╝  ╚═╝ ╚═════╝   ╚═╝   ╚═════╝ ╚══════╝╚═╝  ╚═╝╚══════╝ ╚═════╝ ╚══════╝╚═════╝ ╚═╝╚══════╝╚═╝  ╚═╝

  CVE-2026-34990 :: CUPS <= 2.4.16 Локальное повышение привилегий
  PoC от 0xcybersoldier

[*] Запуск утечки токена CUPS...
[+] Перехвачен токен авторизации CUPS Local
[*] Гонка записи файла: попытка 1/8
[+] УЯЗВИМО: CUPS записал проверочный файл, принадлежащий root

Как это работает изнутри

1. Перехват токена

PoC создаёт временный принтер CUPS, чей device-uri указывает на контролируемый злоумышленником слушатель IPP на интерфейсе loopback.

Пример:

ipp://127.0.0.1:9189/ipp/print

Локальный слушатель отвечает запросом аутентификации:

401 Unauthorized
WWW-Authenticate: Local trc="y"

Это заставляет взаимодействие клиента/сервера CUPS повторить запрос с использованием механизма локальной аутентификации.

PoC перехватывает полученные учётные данные:

Authorization: Local <token>

2. Административный доступ

Скачать инструмент