linux-vuln-check
Linux服务器内核漏洞检测技能,检查Copy Fail、Dirty Frag、Fragnesia等高危本地提权漏洞,评估风险并提供缓解方案
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Linux服务器内核漏洞检测技能,检查Copy Fail、Dirty Frag、Fragnesia等高危本地提权漏洞,评估风险并提供缓解方案
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
诊断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 系统不适用
- 漏洞检测只做检查和报告,不自动执行任何缓解操作
- 所有缓解操作必须经用户确认后方可执行
- 禁用内核模块可能影响现有业务功能,需提前评估
- 漏洞知识库需要持续更新,关注新披露的内核漏洞