多操作系统漏洞扫描器,用于检测:
crypto/algif_aead 缺陷| 家族 | 发行版 |
|---|---|
| Debian | Ubuntu、Debian、Linux Mint、Pop!_OS |
| RHEL | RHEL、CentOS、AlmaLinux、Rocky Linux、Oracle Linux、CloudLinux、Fedora、Amazon Linux |
| SUSE | SLES、openSUSE |
直接从 GitHub 运行:
curl -fsSL https://raw.githubusercontent.com/sebinxavi/cve-checker-2026/main/cve_check_2026.sh | sudo bash
或先下载再执行(建议先审查):
curl -fsSL -o cve_check_2026.sh https://raw.githubusercontent.com/sebinxavi/cve-checker-2026/main/cve_check_2026.sh
chmod +x cve_check_2026.sh
sudo ./cve_check_2026.sh
algif_aead / af_alg 模块加载状态apt、dnf、yum、zypper 可用的补丁cpsrvd 服务状态| 文件 | 用途 |
|---|---|
/var/log/cve_check_2026_<timestamp>.log | 完整调试日志 |
/var/log/cve_check_2026_<timestamp>.report.txt | 执行摘要 |
如果 /var/log 不可写,则回退到 /tmp/。
| 代码 | 含义 |
|---|---|
0 | 全部安全或不适用 |
1 | 脚本错误(非 root、缺少工具) |
2 | 至少一个 CVE 确认存在漏洞 |
适用于自动化与监控集成。
对于 cPanel 服务器,提供了一个配套脚本,用于审计活动会话文件,以检测 CVE-2026-41940 的利用迹象。
扫描 /var/cpanel/sessions/raw/ 中的所有文件,并将每个会话归类为以下三组之一:
curl -fsSL https://raw.githubusercontent.com/sebinxavi/cve-checker-2026/main/cpanel_session_checker.sh | sudo bash
或先下载:
curl -fsSL -o cpanel_session_checker.sh https://raw.githubusercontent.com/sebinxavi/cve-checker-2026/main/cpanel_session_checker.sh
chmod +x cpanel_session_checker.sh
sudo ./cpanel_session_checker.sh
如果发现 COMPROMISED 会话:
/tmp、cron 和 ~/.ssh/authorized_keys 是否存在恶意软件被入侵的服务器不可信 — 将所有 cPanel 账户迁移到新配置的干净服务器:
# 在被入侵的服务器上 — 列出所有账户
/usr/local/cpanel/bin/whmapi1 listaccts | grep 'user:'
# 打包每个账户以进行迁移
/scripts/pkgacct <username> /backup
# 在干净服务器上 — 恢复每个账户
/scripts/restorepkg /backup/cpmove-<username>.tar.gz
或者使用 WHM >> 传输工具 >> 从另一台服务器复制多个账户 进行完整保真的批量迁移。
迁移后:更新 DNS 将域名指向新服务器 IP,验证所有站点正常加载,然后停用或重新镜像被入侵的服务器。
如果仅发现 SUSPICIOUS 会话(全部被阻止):
/scripts/upcp --forcerm -f /var/cpanel/sessions/raw/*攻击发生后(即使已被阻止),建议轮换所有 cPanel 账户密码作为预防措施。提供了一个专用脚本,用于批量重置所有 cPanel 账户密码并将其保存到安全的 CSV 文件中。
whmapi1 获取所有 cPanel 账户/root/cpanel_new_passwords_<timestamp>.csv(权限 600)/root/cpanel_passwd_reset_<timestamp>.logcurl -fsSL https://raw.githubusercontent.com/sebinxavi/cve-checker-2026/main/cpanel_mass_passwd_reset.sh | sudo bash
在安全地将新密码交付给账户持有人后,删除 CSV 文件:
shred -u /root/cpanel_new_passwords_*.csv
将 cPanel 更新到您分支的已修补版本:
| 分支 |
|---|
/scripts/upcp --force
/scripts/restartsrv_cpsrvd
Debian / Ubuntu:
apt update && apt upgrade -y && reboot
RHEL / AlmaLinux / CloudLinux:
dnf update kernel -y && reboot
# 或
yum update kernel -y && reboot
使用 KernelCare(无需重启):
kcarectl --update
警告: 不要在 cPanel 服务器上运行
apt upgrade -y— 它可能会升级由 cPanel 管理的软件包(Apache、PHP、MySQL)并导致服务中断。
仅升级内核软件包:
apt-get install --only-upgrade linux-image-generic linux-headers-generic linux-generic
reboot
重启后验证:
uname -r
AWS EC2 实例使用不同的内核软件包(linux-aws)— 通用软件包名称不会更新正在运行的内核:
apt update && apt install --only-upgrade -y \
linux-aws \
linux-image-aws \
linux-headers-aws && \
echo "" && \
echo "当前运行的内核 : $(uname -r)" && \
echo "下次启动的内核 : $(ls /boot/vmlinuz-* | sort -V | tail -1 | sed 's|/boot/vmlinuz-||')"
确认显示的下次启动内核无误后,重启:
reboot
将易受攻击的模块加入黑名单以防止其加载:
echo "blacklist algif_aead" >> /etc/modprobe.d/disable-algif-aead.conf
echo "blacklist af_alg" >> /etc/modprobe.d/disable-algif-aead.conf
update-initramfs -u # Debian/Ubuntu
# 或
dracut --force # RHEL 系列
重新运行检查器以确认状态变为 MITIGATED。在下一个维护窗口应用内核补丁。
sudo tee /etc/cron.weekly/cve-check-2026 > /dev/null <<'EOF'
#!/bin/bash
curl -fsSL https://raw.githubusercontent.com/sebinxavi/cve-checker-2026/main/cve_check_2026.sh | bash
if [[ $? -eq 2 ]]; then
REPORT=$(ls -t /var/log/cve_check_2026_*.report.txt | head -1)
mail -s "[CVE ALERT] $(hostname) vulnerable" [email protected] < "${REPORT}"
fi
EOF
sudo chmod +x /etc/cron.weekly/cve-check-2026
for host in server1 server2 server3; do
ssh root@${host} "curl -fsSL https://raw.githubusercontent.com/sebinxavi/cve-checker-2026/main/cve_check_2026.sh | bash" \
> "report_${host}_$(date +%F).txt" &
done
wait
此脚本为只读 — 仅检查系统并写入日志文件。它不会:
在将 curl 管道传输到 bash 之前,请始终审查脚本。查看源代码:
https://github.com/sebinxavi/cve-checker-2026/blob/main/cve_check_2026.sh
MIT — 参见 LICENSE
Sebin Xavi — sebintech.com
| 状态 | 含义 |
|---|
SAFE | 确认已修补 |
LIKELY_SAFE | 可能安全;未在变更日志中确认 |
MITIGATED | 已应用缓解措施(例如模块黑名单) |
VULNERABLE | 补丁可用但未应用 |
VULNERABLE_EOL | 生命周期结束版本,无补丁路径 |
NOT_APPLICABLE | 软件未安装 |
UNKNOWN | 无法自动确定 |
| 结果 |
|---|
| 含义 |
|---|
LEGITIMATE | 通过 handle_form_login、passwd 或 api_token 的真实登录 |
SUSPICIOUS | 检测到攻击载荷(badpass)— 未成功访问 |
COMPROMISED | 攻击载荷在访问日志中出现 HTTP 200 响应 — root 已被访问 |
| 最低版本 |
|---|
| 110.x | 11.110.0.97 |
| 118.x | 11.118.0.63 |
| 126.x | 11.126.0.54 |
| 132.x | 11.132.0.29 |
| 134.x | 11.134.0.20 |
| 136.x | 11.136.0.5 |