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

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

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

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

工具目录

分类

查看所有分类
Loading categories
OCI-Ansible-Fix-CVE-2026-31431 — Ansible playbook,通过安装更新后的内核包、重启并在多个发行版上验证修复,自动修复 OCI Linux 实例上的 CVE-2026-31431(Copy Fail)。 | Kitploit
工具/GitHubGitHub/cj667113/oci-ansible-fix-cve-2026-31431
漏洞扫描器漏洞分析配置审计云安全DevSecOps
GitHubcj667113/oci-ansible-fix-cve-2026-31431

OCI-Ansible-Fix-CVE-2026-31431

Ansible playbook,通过安装更新后的内核包、重启并在多个发行版上验证修复,自动修复 OCI Linux 实例上的 CVE-2026-31431(Copy Fail)。

查看仓库

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

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

CVE-2026-31431 Ansible 修复

本 playbook 修复 OCI 上 Linux 实例中的 CVE-2026-31431(也称为 Copy Fail)。

CVE-2026-31431 是 Linux 内核中由 AF_ALG 用户空间加密 API 使用的 algif_aead 实现的一个本地权限提升问题。本 playbook 采用主要修复路径:安装更新后的厂商内核包并重启实例,使其运行已修复的内核。

参考:

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-31431
  • Copy Fail 披露:https://copy.fail/

此 playbook 的作用

第一个 play 在 OCI Cloud Shell 或另一台已配置 OCI CLI 的机器上本地运行。它通过读取每个实例、查找其主 VNIC,并根据 prefer_public_ip 选择私有或公共 IP 地址,将硬编码的 OCI 实例 OCID 解析为可访问的 Ansible 主机。

第二个 play 在 Ansible 配置的 forks 限制内并行修补已解析的 Linux 主机:

  • 确认目标是 Linux。
  • 使用 uname -r 捕获当前运行的内核。
  • 使用目标发行版的包管理器安装更新后的内核包:
    • Oracle Linux、RHEL、Fedora、Amazon Linux:对 kernel* 和 kernel-uek* 执行 dnf 或 yum 更新。
    • Ubuntu 和 Debian:对已安装的 Linux 内核包执行 apt-get --only-upgrade。
    • SUSE:执行 zypper patch --category security。
  • 重启主机,使其真正运行更新后的内核。
  • 捕获重启后的内核。
  • 验证正在运行的内核是否映射到已安装的内核包。
  • 如果发行版包工具仍报告有未处理的内核更新,则使本次运行失败。
  • 在发行版公开 CVE 特定仓库公告或补丁元数据时进行检查。
  • 在可用时从已安装的内核包变更日志中收集 CVE 证据。
  • 打印 RPM、Debian 系和 SUSE 系统的已安装内核包信息。
  • 在所有目标上打印一条完整的运行结束总摘要。
  • 如果任何主机未通过验证,则在打印总摘要后使 playbook 失败。

验证

重启后,playbook 使用目标发行版的包和仓库工具来验证修复:

  • RPM 系统:使用 rpm 映射正在运行的内核,使用 dnf check-update 或 yum check-update 检查待处理的内核更新,使用 updateinfo 检查 CVE 公告元数据,并搜索已安装的内核包变更日志。
  • Ubuntu 和 Debian:使用 dpkg-query 映射正在运行的内核,通过 apt-get 模拟检查待处理的内核更新,并搜索已安装的内核包变更日志。
  • SUSE:使用 rpm 映射正在运行的内核,使用 zypper list-updates 检查待处理的内核更新,使用 zypper list-patches --cve 检查 CVE 补丁元数据,并搜索已安装的内核包变更日志。

严格的通过/失败检查是:主机在重启后运行的是由包管理的内核,并且配置的仓库中没有仍然待处理的内核包更新。当发行版发布 CVE 特定公告和变更日志元数据时,会收集相关输出。

运行结束时,localhost 摘要 play 报告:

  • 处理的目标总数
  • 通过 CVE 检查的主机数
  • 失败或验证不完整的主机数
  • 之前的内核
  • 重启后安装/运行的内核
  • 拥有正在运行内核的包
  • 包管理内核检查结果
  • 待处理内核更新检查结果
  • CVE 公告或补丁元数据检查结果

默认输出是紧凑的逐主机摘要。若要同时打印完整的原始验证数据,请添加:

root@kitploit:~
-e show_detailed_cve_evidence=true

运行

root@kitploit:~
ansible-playbook -i localhost, patch_cve_2026_31431.yml \
  -e oci_region=us-ashburn-1 \
  -e ansible_user=opc \
  -e ansible_ssh_private_key_file=/path/to/private_key \
  -e prefer_public_ip=false

当 Cloud Shell 或您的 Ansible 控制主机必须通过公共 IP 地址访问实例时,使用 prefer_public_ip=true。当控制主机具备私有网络可达性时,使用 prefer_public_ip=false。

该 playbook 会对动态发现的目标禁用严格 SSH 主机密钥检查,以便能针对新解析的实例 IP 以非交互方式运行。

预期结果

成功运行应以 CVE-2026-31431 verification passed for all targets. 结束。总摘要按字段每行打印一条,分组在 Host: ... 下,包括之前的内核、重启后安装的内核、正在运行的内核包(如 kernel-uek-core-...)以及 CVE check: PASS。如果因内核更新仍可用而导致验证失败,请确认主机可以访问正确的厂商安全仓库,然后重新运行该 playbook。

下载工具