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

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

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

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

工具目录

分类

查看所有分类
Loading categories
cve-2026-31431-algif-aead-remediator — Kubernetes DaemonSet,用于检测并修复 CVE-2026-31431(GHSA-2274-3hgr-wxv6)——通过 modprobe 黑名单利用 algif_aead 实现本地权限提升(LPE) | Kitploit
工具/GitHubGitHub/boliu83/cve-2026-31431-algif-aead-remediator
云基础设施安全防御工具容器安全漏洞分析配置审计事件响应
GitHubboliu83/cve-2026-31431-algif-aead-remediator

cve-2026-31431-algif-aead-remediator

Kubernetes DaemonSet,用于检测并修复 CVE-2026-31431(GHSA-2274-3hgr-wxv6)——通过 modprobe 黑名单利用 algif_aead 实现本地权限提升(LPE)

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库
3个月前尚未审核

CVE-2026-31431 / GHSA-2274-3hgr-wxv6 — algif_aead 修复工具

严重性: 高危(CVSS 7.8 — CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)

背景

CVE-2026-31431 是 Linux 内核 algif_aead 模块(AF_ALG AEAD 加密套接字接口)中的一个本地权限提升漏洞。低权限本地用户可利用不正确的就地缓冲区操作来获得完全 root 访问权限。所有运行在补丁发布之前 Linux 内核版本的 AKS 节点池都可能受到影响。

algif_aead 模块对于正常的 Kubernetes 或 AKS 工作负载并非必需。将其加入黑名单可完全消除攻击面。


此 DaemonSet 的作用

每个 Linux 节点上运行一个 Pod。在启动时以及之后每 60 秒,每个 Pod 会:

  1. 写入 主机上的 /etc/modprobe.d/modprobe-CIS.conf,内容为:

    root@kitploit:~
    install algif_aead /bin/false
    blacklist algif_aead
    

    这可以防止模块在重启或通过 modprobe 加载。

  2. 检查 /proc/modules(实时主机内核模块列表——与所有容器共享)中是否存在 algif_aead。

  3. 标记 Kubernetes 节点并附上结果,以便您可以在整个集群中进行查询:

    标签值含义
    mitigated模块未加载;已应用黑名单配置
    module-loaded模块当前已加载——请立即调查

文件

文件用途
rbac.yaml命名空间、ServiceAccount、ClusterRole(get/patch 节点)、ClusterRoleBinding
configmap.yaml挂载到每个 Pod 中的 Shell 修复脚本

前提条件

  • kubectl 已配置指向目标 AKS 集群
  • 集群管理员权限(创建 ClusterRole 和特权命名空间所需)

部署

按顺序应用清单:

root@kitploit:~
kubectl apply -f rbac.yaml
kubectl apply -f configmap.yaml
kubectl apply -f daemonset.yaml

等待滚动更新在所有节点上完成:

root@kitploit:~
kubectl -n security-remediation rollout status daemonset/cve-2026-31431-remediator

验证

快速查看节点修复状态

root@kitploit:~
kubectl get nodes -L vulnerability.aks.io/CVE-2026-31431

干净集群上的预期输出:

root@kitploit:~
NAME                                STATUS   ROLES    AGE   VERSION   CVE-2026-31431
aks-nodepool1-xxxxx-vmss000000      Ready    <none>   4d    v1.33.7   mitigated
aks-nodepool1-xxxxx-vmss000001      Ready    <none>   4d    v1.33.7   mitigated

检查特定 Pod 的日志

root@kitploit:~
# 列出 Pod 及其分配的节点
kubectl -n security-remediation get pods -o wide

# 跟踪特定 Pod 的日志
kubectl -n security-remediation logs <pod-name> -f

预期日志输出:

root@kitploit:~
2026-05-01T01:33:36Z [INFO    ] CVE-2026-31431 remediator starting on node: aks-nodepool1-...
2026-05-01T01:33:36Z [INFO    ] Blacklist config written → /host/etc/modprobe.d/modprobe-CIS.conf
2026-05-01T01:33:36Z [INFO    ] Node aks-nodepool1-...: 'algif_aead' is NOT loaded — blacklist config applied, node is mitigated.
2026-05-01T01:33:36Z [INFO    ] Labeled node aks-nodepool1-...: vulnerability.aks.io/CVE-2026-31431=mitigated
2026-05-01T01:33:36Z [INFO    ] Entering monitoring loop (interval: 60s)

验证 modprobe 配置已写入主机

root@kitploit:~
kubectl -n security-remediation exec <pod-name> -- cat /host/etc/modprobe.d/modprobe-CIS.conf

预期内容:

root@kitploit:~
# CIS hardening – mitigate CVE-2026-31431 (GHSA-2274-3hgr-wxv6)
# Prevents algif_aead (AF_ALG AEAD) LPE from being loaded or exploited.
install algif_aead /bin/false
blacklist algif_aead

警报:module-loaded 节点

如果某个节点显示 module-loaded,说明内核模块当前处于活动状态,该节点可能已被入侵。请立即对该节点执行 cordon 和 drain 以进行取证分析:

root@kitploit:~
# 查找受影响的节点
kubectl get nodes -l vulnerability.aks.io/CVE-2026-31431=module-loaded

# 执行 cordon 和 drain 以进行调查
kubectl cordon <node-name>
kubectl drain <node-name> --ignore-daemonsets --delete-emptydir-data

卸载

注意: 移除 DaemonSet 不会 从主机节点上删除 /etc/modprobe.d/modprobe-CIS.conf 文件。该文件被有意保留,作为持久的内核加固措施。

移除 Kubernetes 资源

root@kitploit:~
kubectl delete -f daemonset.yaml
kubectl delete -f configmap.yaml
kubectl delete -f rbac.yaml

这将删除 DaemonSet、其所有 Pod、ConfigMap、ServiceAccount、ClusterRole、ClusterRoleBinding 以及命名空间。

移除节点标签(可选)

root@kitploit:~
kubectl label nodes --all vulnerability.aks.io/CVE-2026-31431-

从节点移除 modprobe 配置(不推荐)

仅当您有替代缓解措施(已修补的内核)时才执行此操作。在每个节点上或通过特权 Pod 运行:

root@kitploit:~
rm -f /etc/modprobe.d/modprobe-CIS.conf

安全说明

  • Pod 以 root 身份运行(runAsUser: 0)——这是写入主机 /etc/modprobe.d/ 所必需的。
  • 所有 Linux capabilities 均被 丢弃(capabilities.drop: ["ALL"])。不需要任何内核 capabilities。
  • 主容器以 readOnlyRootFilesystem: true 运行。只有挂载的 hostPath 和 emptyDir 卷是可写的。
  • 仅从主机绑定挂载 /etc/modprobe.d/——而非 /etc、/proc 或任何更广泛的路径。
  • curl 二进制文件及其共享库由 init 容器暂存到 emptyDir(/tools)中,以便主容器无需对 rootfs 的写访问权限即可调用 Kubernetes API。
  • ServiceAccount 拥有所需的最低 RBAC 权限:仅对 nodes 的 get 和 。
下载工具
daemonset.yamlDaemonSet 定义——每个 Linux 节点一个 Pod
patch