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

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

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

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

工具目录

分类

查看所有分类
Loading categories
copyfail-fix — 针对 Ubuntu/Debian VPS 上 CVE-2026-31431(Copy Fail)的快速缓解及修补脚本 | Kitploit
工具/GitHubGitHub/hyz-is/copyfail-fix
权限提升漏洞分析漏洞利用脚本与自动化配置审计DevSecOps事件响应
GitHubhyz-is/copyfail-fix

copyfail-fix

针对 Ubuntu/Debian VPS 上 CVE-2026-31431(Copy Fail)的快速缓解及修补脚本

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CopyFail-Fix

🌐 English | Português | Español | 中文 | Íslenska

一键缓解和修复 CVE-2026-31431 — Linux 内核 "Copy Fail" 本地权限提升漏洞。该脚本禁用受影响的 algif_aead 模块,通过 apt 升级内核,并(可选)安装 systemd 定时器以保持系统更新。

专为 Ubuntu 服务器设计(也兼容基于 Debian 的系统)。

⚠️ 运行前请审查脚本。 这是一个以 root 身份运行的安全工具。在通过 sudo 执行之前,请先阅读 copyfail.sh。在可能的情况下,请始终优先使用您发行版的官方内核更新流程。

为什么需要?

CVE-2026-31431 ("Copy Fail") 是内核 algif_aead 模块(用户空间加密 API 的 AEAD 套接字接口)中的一个逻辑缺陷。本地非特权用户可以触发对任何可读文件(包括 setuid 二进制文件)的页面缓存的确定性 4 字节写入,并在几秒钟内获得 root 访问权限。该缺陷于 2017 年(commit 72548b093ee3)引入,影响 2017 年至修复期间构建的所有内核。在您应用发行版官方补丁的同时,此脚本会禁用受影响的模块。

要求

  • Ubuntu 20.04+(或基于 Debian 的系统)
  • 可用的 apt-get 和 awk
  • Root 权限(sudo)

快速开始

root@kitploit:~
wget -O copyfail.sh https://raw.githubusercontent.com/paulorlima9/copyfail-fix/main/copyfail.sh
chmod +x copyfail.sh
sudo ./copyfail.sh

首次运行时,脚本将:

  1. 写入 /etc/modprobe.d/disable-algif.conf 以将 algif_aead 模块列入黑名单
  2. 如果 algif_aead 当前已加载,则卸载它
  3. 运行 apt-get update && apt-get upgrade -y 以拉取已修补的内核
  4. 询问您是否要启用 Supervision(每日自动更新)

升级后需要重启以加载新内核。

用法

root@kitploit:~
sudo ./copyfail.sh [选项]

示例

完整修复 — 应用缓解并升级内核:

root@kitploit:~
sudo ./copyfail.sh

仅检查状态:

root@kitploit:~
sudo ./copyfail.sh --check

仅缓解(不升级内核):

root@kitploit:~
sudo ./copyfail.sh --mitigate

撤销缓解 在确认内核已修补并重启后:

root@kitploit:~
sudo ./copyfail.sh --revert

启用每日自动更新(Supervision):

root@kitploit:~
sudo ./copyfail.sh --supervision

Supervision

Supervision 功能安装一个 systemd 定时器,每 24 小时运行一次 apt-get upgrade,确保在您的发行版发布内核补丁后立即获取它们。

启用后,将创建两个 systemd 单元:

  • copyfail-fix-supervision.service — 以 --upgrade 执行脚本的 oneshot 服务
  • copyfail-fix-supervision.timer — 每天触发服务的定时器(启动后 5 分钟也会触发)

管理定时器

root@kitploit:~
# 检查定时器状态
systemctl status copyfail-fix-supervision.timer

# 查看下次计划运行时间
systemctl list-timers copyfail-fix-supervision.timer

# 禁用自动更新
sudo systemctl stop copyfail-fix-supervision.timer
sudo systemctl disable copyfail-fix-supervision.timer

# 手动触发更新
sudo systemctl start copyfail-fix-supervision.service

工作原理

  1. 将 install algif_aead /bin/false 写入 /etc/modprobe.d/disable-algif.conf,这样下次启动时模块就无法加载
  2. 调用 rmmod algif_aead 将其从运行中的内核中卸载(如果模块正在使用中则跳过 — 需要重启)
  3. 运行 apt-get update,然后执行非交互式 apt-get upgrade 以安装最新的内核软件包
  4. 使用 --check 时,检查 uname -r、lsmod、modprobe 文件以及最新安装的 linux-image-* 软件包
  5. 使用 --revert 时,删除 modprobe 文件并通过 modprobe 重新加载模块

输出图例

执行过程中,脚本显示进度指示器:

  • +(绿色)— 操作已应用
  • -(红色)— 操作已撤销
  • .(灰色)— 操作已跳过(已应用或不适用)
  • !(黄色)— 警告(例如需要重启)

CVE 参考

  • Ubuntu Security Notice — CVE-2026-31431
  • Red Hat — RHSB-2026-002 Copy Fail
  • CERT-EU 2026-005

许可证

MIT

下载工具
选项缩写描述
--help-h显示帮助信息
--mitigate-m仅应用缓解措施(禁用 algif_aead 模块)
--upgrade-u仅升级内核/软件包(apt-get upgrade)
--check-c显示当前状态(内核版本、模块、缓解)
--revert-r撤销缓解(在内核修补并重启后)
--supervision-s通过 systemd 定时器启用每日自动更新