linux-vuln-check
Linux服务器内核漏洞检测技能,检查Copy Fail、Dirty Frag、Fragnesia等高危本地提权漏洞,评估风险并提供缓解方案
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Linux服务器内核漏洞检测技能,检查Copy Fail、Dirty Frag、Fragnesia等高危本地提权漏洞,评估风险并提供缓解方案
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
诊断DNS解析问题,检查DNS配置,提供DNS优化建议。
帮助用户管理Docker广场应用的安装、部署和运维
检查服务器SSL证书状态、有效期、配置安全性,确保证书合规。
备份恢复技能,提供网站文件、数据库、配置文件的备份策略和恢复指导
数据库管理技能,诊断数据库运行状态、性能问题,提供备份、优化和故障排查指导
防火墙管理技能,配置和管理服务器防火墙规则,确保端口安全和服务可访问性
| name | linux_vuln_check |
| description | Linux服务器内核漏洞检测技能,检查Copy Fail、Dirty Frag、Fragnesia等高危本地提权漏洞,评估风险并提供缓解方案 |
| trigger_keywords | 漏洞,内核漏洞,提权,CVE,Dirty Frag,Copy Fail,Fragnesia,安全漏洞,内核安全 |
| platforms | linux |
| source | builtin |
针对 Linux 服务器进行内核级高危漏洞检测,重点检查近期公开的本地提权(LPE)漏洞,评估系统风险并提供缓解方案。
| 属性 | 值 |
|---|---|
| CVE | CVE-2026-31431 |
| 名称 | Copy Fail |
| CVSS | 7.8 (High) |
| 类型 | 本地提权 (LPE) |
| 披露日期 | 2026-04-29 |
| 影响内核 | 4.14 - 6.18.21(自2017年起几乎所有发行版) |
| 漏洞模块 | algif_aead(内核加密子系统 AF_ALG 接口) |
| 攻击原理 | authencesn 模板在 AEAD 就地操作时越界写入4字节到页缓存,可修改 setuid 二进制文件内存页获取 root |
| PoC 状态 | 已公开(732字节 Python 脚本) |
| 利用条件 | 本地普通用户权限,无需竞态条件 |
| 上游补丁 | commit a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5(2026-04-01 合入) |
| 缓解方案 | 禁用 algif_aead 模块 |
| 属性 | 值 |
|---|---|
| CVE | CVE-2026-43284 (xfrm-ESP) + CVE-2026-43500 (RxRPC) |
| 名称 | Dirty Frag |
| CVSS | 8.8 / 7.8 (High) |
| 类型 | 本地提权 (LPE) |
| 披露日期 | 2026-05-07 |
| 影响内核 | CVE-2026-43284: cac2661c53f3 (2017) 至今; CVE-2026-43500: 2dc334f1a63a (2023-06) 至今 |
| 漏洞模块 | esp4/esp6(IPsec ESP)+ rxrpc(AFS 远程调用) |
| 攻击原理 | 通过 splice() 零拷贝路径将页缓存页注入 sk_buff frag,内核就地解密时直接覆写共享页缓存,可修改 /etc/passwd 或 setuid 二进制文件 |
| PoC 状态 | 已公开 |
| 利用条件 | CVE-2026-43284 需用户命名空间权限; CVE-2026-43500 仅需普通用户权限 |
| 上游补丁 | CVE-2026-43284 已有补丁; CVE-2026-43500 尚未完全修补 |
| 缓解方案 | 禁用 esp4、esp6、rxrpc 模块 |
| 属性 | 值 |
|---|---|
| CVE | CVE-2026-46300 |
| 名称 | Fragnesia |
| CVSS | 7.8 (High) |
| 类型 | 本地提权 (LPE) |
| 披露日期 | 2026-05-13 |
| 影响内核 | 与 Dirty Frag 相同范围,已打 Dirty Frag 补丁的内核同样受影响 |
| 漏洞模块 | XFRM ESP-in-TCP(esp4/esp6/espintcp) |
| 攻击原理 | skb_try_coalesce() 合并 skb 时丢失 SKBFL_SHARED_FRAG 标记,ESP-in-TCP 解密就地写入共享页缓存,可修改 /usr/bin/su 等获取 root |
| PoC 状态 | 已公开 |
| 利用条件 | 本地普通用户 + 用户命名空间权限(Ubuntu AppArmor 可能部分阻断) |
| 上游补丁 | 2026-05-13 提交至 netdev,待合入主线 |
| 缓解方案 | 禁用 esp4、esp6、rxrpc 模块(与 Dirty Frag 缓解方案相同) |
调用 execute_command 执行以下命令:
uname -r
记录当前内核版本,用于后续漏洞影响范围判断。
调用 execute_command 执行以下命令:
lsmod | grep -E 'algif_aead|esp4|esp6|espintcp|rxrpc' || echo "NO_VULN_MODULES_LOADED"
如果输出包含模块名,说明危险模块已加载,系统暴露于攻击面。
调用 execute_command 执行以下命令:
cat /etc/modprobe.d/*.conf 2>/dev/null | grep -E 'install.*(algif_aead|esp4|esp6|rxrpc).*/bin/false' || echo "NO_MITIGATION_FOUND"
如果输出包含 install xxx /bin/false 配置,说明对应模块已被禁用缓解。
调用 execute_command 执行以下命令:
if command -v apt &>/dev/null; then apt list --upgradable 2>/dev/null | grep -i linux-image; elif command -v dnf &>/dev/null; then dnf check-update kernel 2>/dev/null; elif command -v yum &>/dev/null; then yum check-update kernel 2>/dev/null; else echo "UNKNOWN_PKG_MANAGER"; fi
检查是否有可用的内核安全更新。
调用 execute_command 执行以下命令:
cat /proc/sys/kernel/unprivileged_userns_clone 2>/dev/null || echo "NOT_AVAILABLE"; cat /proc/sys/user/max_user_namespaces 2>/dev/null || echo "NOT_AVAILABLE"
unprivileged_userns_clone = 0 或 max_user_namespaces = 0 表示用户命名空间已限制,可部分缓解 Fragnesia 和 Dirty Frag (CVE-2026-43284) 的利用根据收集的信息,按照以下格式生成报告:
# Linux 内核漏洞检测报告
## 系统信息
| 项目 | 值 |
|------|------|
| 内核版本 | x.x.x-xxx-generic |
| 操作系统 | Ubuntu 24.04 LTS / CentOS 9 / ... |
| 漏洞模块状态 | 已加载 / 未加载 / 已禁用 |
| 缓解措施 | 已生效 / 未配置 |
## 漏洞检测结果
| 漏洞 | CVE | 状态 | 风险等级 | 说明 |
|------|-----|------|----------|------|
| Copy Fail | CVE-2026-31431 | 受影响/已缓解/已修补 | 高 | ... |
| Dirty Frag | QVD-2026-24699 | 受影响/已缓解/已修补 | 高 | ... |
| Fragnesia | CVE-2026-46300 | 受影响/已缓解/已修补 | 高 | ... |
## 状态判定规则
- **已修补**:内核版本包含对应补丁 commit
- **已缓解**:漏洞模块已禁用(/etc/modprobe.d/ 中配置 install xxx /bin/false 且模块未加载)
- **受影响**:漏洞模块已加载且未应用补丁或缓解措施
## 风险详情
针对每个"受影响"的漏洞,提供:
- 漏洞原理简述
- 攻击影响(本地提权到 root)
- 利用难度评估
## 缓解建议
按优先级排序:
### 紧急缓解(无需重启,立即生效)
1. 禁用 Copy Fail 漏洞模块:
```bash
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/copy-fail.conf
sudo rmmod algif_aead 2>/dev/null; true
禁用 Dirty Frag / Fragnesia 漏洞模块:
printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' | sudo tee /etc/modprobe.d/dirty-frag.conf
sudo rmmod esp4 esp6 rxrpc 2>/dev/null; true
更新 initramfs 防止开机加载:
sudo update-initramfs -u -k all 2>/dev/null || sudo dracut -f 2>/dev/null; true
sudo apt update && sudo apt upgrade # Debian/Ubuntu
sudo dnf update kernel # RHEL/Fedora
sudo yum update kernel # CentOS
grep -qE '^(algif_aead|esp4|esp6|rxrpc) ' /proc/modules && echo "警告:漏洞模块仍在加载" || echo "安全:漏洞模块未加载"
## 判定逻辑
### Copy Fail (CVE-2026-31431)
1. 内核版本 < 补丁版本 AND `algif_aead` 模块可加载 → **受影响**
2. `algif_aead` 已在 modprobe.d 中禁用且未加载 → **已缓解**
3. 内核版本 >= 补丁版本 → **已修补**
### Dirty Frag (QVD-2026-24699)
1. 内核版本 < 补丁版本 AND (`esp4`/`esp6` 或 `rxrpc` 模块可加载) → **受影响**
2. 所有三个模块已在 modprobe.d 中禁用且未加载 → **已缓解**
3. 内核版本 >= 补丁版本(注意:CVE-2026-43500 尚未完全修补)→ **部分修补**
### Fragnesia (CVE-2026-46300)
1. 内核版本 < 补丁版本 AND `esp4`/`esp6` 模块可加载 → **受影响**
2. Dirty Frag 缓解方案(禁用 esp4/esp6/rxrpc)同样适用于 Fragnesia → **已缓解**
3. 内核版本 >= 2026-05-13 补丁版本 → **已修补**
## 注意事项
- 本技能仅适用于 Linux 系统,Windows 系统不适用
- 漏洞检测只做检查和报告,不自动执行任何缓解操作
- 所有缓解操作必须经用户确认后方可执行
- 禁用内核模块可能影响现有业务功能,需提前评估
- 漏洞知识库需要持续更新,关注新披露的内核漏洞