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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2024-21626-runcPOC — Концепт-эксплойт для CVE-2024-21626 — уязвимости выхода из контейнера в runc. Включает скрипты проверки, два метода эксплуатации (reverse shell через cron и подмену команды), а также анализ первопричины и патча. | Kitploit
Инструменты/GitHubGitHub/v0wkeep3r/cve-2024-21626-runcpoc
Повышение привилегийБезопасность контейнеровАнализ уязвимостейЭксплуатацияБезопасность облачных средПобег из Контейнера
GitHubv0wkeep3r/cve-2024-21626-runcpoc

CVE-2024-21626-runcPOC

Концепт-эксплойт для CVE-2024-21626 — уязвимости выхода из контейнера в runc. Включает скрипты проверки, два метода эксплуатации (reverse shell через cron и подмену команды), а также анализ первопричины и патча.

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Репозиторий
6172 лет назадЕщё не проверено

[Воспроизведение уязвимости] CVE-2024-21626 уязвимость побега из контейнера docker runc

1. Обзор уязвимости

Имя уязвимостиУязвимость побега из контейнера docker runc
Номер уязвимостиCVE-2024-21626
Дата раскрытия2024-01-31
Характеристика/
Затронутые версииrunc @ [v1.0.0-rc93,1.1.11]

2. Эксплуатация уязвимости и POC/EXP

Условия эксплуатации довольно строгие, требуется взаимодействие жертвы. Лично считаю это немного бесполезным:

  1. Использование вредоносного образа атакующего (включая настройки рабочего каталога и т.д.) для создания контейнера
  2. Атакующий может управлять контейнером и выполнять команды.

Проверка наличия уязвимости и получение дескриптора:

root@kitploit:~
git clone https://github.com/V0WKeep3r/CVE-2024-21626-runcPOC.git
cd CVE-2024-21626-runcPOC
bash verify.sh

Как показано ниже, уязвимость существует, и файловый дескриптор — /proc/self/fd8

verify.sh может определить фактическое значение fd в текущей среде машины. Если fd не равен 8, необходимо изменить WORKDIR в Dockerfile на соответствующее значение или указать его с помощью -w в docker run.

Проверка побега/повышения привилегий:

Здесь я больше ориентируюсь на реальную практику: poc.sh использует запланированную задачу для обратного шелла. poc2.sh использует метод замены команд (обратите внимание, при использовании этого метода необходимо заранее сделать резервную копию файлов, чтобы избежать трудностей с восстановлением).

root@kitploit:~
# 需要确认定时任务文件存在,不存在可以创建写,但是那样不能触发定时任务
# 只有crontab -e创建的,在crontab组的文件才会被定时执行。
docker build . -t poc1
docker run -it --rm poc1 bash /poc.sh

POC2:

root@kitploit:~
docker build . -t poc2
docker run -it --rm poc2 bash /poc.sh

# 另起一个terminal
/bin/bash.copy

3. Анализ принципа уязвимости

Полного понимания нет, но в сочетании с патчем можно уловить суть.

В процессе docker exec или docker run вызывается функция execve из runc, но в процессе runc exec файловые дескрипторы не закрываются, что приводит к утечке файловых дескрипторов хоста в среду контейнера. Пользователь может использовать эти дескрипторы для чтения и записи файлов хоста, тем самым осуществляя побег из контейнера.

4. Способ исправления / Анализ патча

Способ исправления Обновите runc до версии 1.12 и выше. Официальная ссылка runc: https://github.com/opencontainers/runc/releases

Анализ патча diff commit: https://github.com/opencontainers/runc/commit/2a4ed3e75b9e80d93d1836a9c4c1ebfa2b78870e Закрытие внутренних файловых дескрипторов перед execve

init_linux.go, после chdir проверяется, находится ли cwd (текущий рабочий каталог) внутри контейнера

F. Ссылки

  1. Описание уязвимости: https://github.com/opencontainers/runc/security/advisories/GHSA-xr7r-f8xq-vfvv
  2. Патч: https://github.com/opencontainers/runc/commit/2a4ed3e75b9e80d93d1836a9c4c1ebfa2b78870e
Скачать инструмент