CVE-2026-31431(Copy Fail)— 实时进程代码注入 PoC
演示通过页缓存(page cache)在运行中的进程内执行任意代码。
作者:@secinfosex
功能说明:
- 编译一个测试二进制文件:check() { return 42; } 并使其处于无限循环中
- 启动该进程
- 等待输出 "check() = 42"
- 通过 Copy Fail 页缓存写入,将 check() 替换为 getpid() shellcode
- 等待输出 "check() = "
- 将输出中的 PID 与实际进程 PID 进行比较
- 恢复页缓存(posix_fadvise DONTNEED)
成功条件:check() 返回真实 PID —— 即内核在进程上下文中执行的系统调用。
确认已实现任意代码执行。
环境要求:
- 未打补丁的内核,且具备可用的 algif_aead 模块
- gcc
- 无需 root 权限(但需要 AF_ALG socket 访问权限)
使用方法:
python3 copy_fail_inject_poc.py