[!WARNING] 本 PoC 仅用于帮助防御者、维护者以及获得授权的安全团队,在他们拥有或明确获准测试的系统上验证补丁、缓解措施、检测规则和暴露面。
您全权负责确保您对此材料的使用是合法、经授权的、可控的,并且在隔离的测试环境中进行。
[!WARNING] 本 PoC 具有破坏性。 一旦成功,它会破坏内核中存活的凭据,修改
/etc/sudoers.d或/etc/sudoers,打开一个 root shell,并留下分离的进程和损坏的 OVS 状态以避开不安全的清理。仅在一次性虚拟机/临时主机上运行。重启可以停止剩余进程,但无法撤销对 sudoers 的修改。
该 PoC 将:
nla_lensudo -n bash。为简化起见,该 PoC 假设并针对 x86-64。理论上,该漏洞不应与架构相关。
unshare -Urn)sudo、bash、unshare 和 id以拥有 passwd 条目的非特权用户运行。
python3 ovswrap-poc.py
该 PoC 会自动尝试 unshare -Urn,如果被 AppArmor 阻止,则回退到 aa-exec -p trinity -- unshare -Urn。
该 PoC 包含针对 约 800 个精确 x86-64 内核构建 的预推导值, 使用以下信息进行匹配:
uname -r
uname -v
uname -m
匹配的记录不需要本地符号、BTF、调试包或 pahole。对于未覆盖的构建,PoC 会请求确认并尝试从以下内容动态推导:
System.map 或非零的 /proc/kallsyms;pahole,它必须已安装。推导值失败并不意味着内核不受影响,因为动态推导可能由于多种原因失败;请参阅 writeup 以了解判断您是否受影响的最佳方式。