## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-DORSER-CVE-2024-21626
# CVE-2024-21626
## Обзор
Этот репозиторий содержит примеры кода для приложения, уязвимого к CVE-2024-21626, а также eBPF-гаджет для обнаружения попыток эксплуатации.
Этот репозиторий был создан в рамках этой записи в блоге.
**Гаджет, используемый для обнаружения данной уязвимости, предназначен только для демонстрационных целей. Он не является полноценным средством обнаружения CVE-2024-21626.**
## Описание уязвимости
CVE-2024-21626 — это уязвимость в среде выполнения контейнеров runc, присутствующая в версиях до v1.1.12. Она основана на том, что runc не закрывает «утекший» файловый дескриптор своевременно при создании или выполнении команд внутри контейнера, в результате чего контейнер наследует этот файловый дескриптор и получает доступ к файловой системе хоста.
Существует несколько способов эксплуатации этой уязвимости. Этот репозиторий показывает, как данную уязвимость можно эксплуатировать во время выполнения.
Подробнее можно почитать здесь.
## Использование
Для работы этой демонстрации убедитесь, что на вашей машине установлена версия runc <= 1.1.11.
`leaky-app` — это приложение на Go, которое создаёт символическую ссылку на потенциально утекший файловый дескриптор. Для сборки образа Docker:
root@kitploit:~
make leaky-app
Чтобы собрать eBPF-гаджет, вам понадобится инструмент [`ig`]. Собрать гаджет можно с помощью:
root@kitploit:~
make gadget
После сборки обоих компонентов запустите гаджет командой:
root@kitploit:~
IG_EXPERIMENTAL=true sudo -E ig run trace-symlink:latest
Откройте другой терминал и запустите контейнер leaky-app:
root@kitploit:~
docker run --rm --name leaky-app leaky-app
Вы должны увидеть, как гаджет выводит контейнер, вызвавший системный вызов symlink.
## Отказ от ответственности
Этот репозиторий содержит демонстрационное приложение, предназначенное для демонстрации обнаружения CVE-2024-21626. Важно отметить, что эта демонстрация предназначена исключительно для образовательных целей и не должна рассматриваться как практическое средство обнаружения. Механизмы обнаружения, реализованные в этой демонстрации, не охватывают все сценарии и не отражают всей сложности обнаружения данной уязвимости.