sebinxavi/cve-checker-2026
GitHub: sebinxavi/cve-checker-2026
针对 Linux 内核 CVE-2026-31431 和 cPanel CVE-2026-41940 的多操作系统漏洞检测与应急响应工具集,提供漏洞判定、会话取证分析和批量密码重置能力。
Stars: 1 | Forks: 0
# CVE Checker 2026
多操作系统漏洞扫描程序,用于检测:
- **CVE-2026-31431** — Linux 内核 `crypto/algif_aead` 漏洞
- **CVE-2026-41940** — cPanel & WHM 身份验证绕过 (CVSS 9.8)
## 支持的操作系统
| 家族 | 发行版 |
|---|---|
| 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
```
## 检测内容
### CVE-2026-31431 (Linux 内核)
- 内核版本及编译配置
- `algif_aead` / `af_alg` 模块加载状态
- 模块黑名单状态
- 通过 `apt`、`dnf`、`yum`、`zypper` 获取的可用补丁
- KernelCare 热补丁状态(如适用)
### CVE-2026-41940 (cPanel)
- cPanel & WHM 版本检测
- 与已修补版本的比较
- `cpsrvd` 服务状态
- 暴露的端口 (2082, 2083, 2086, 2087, 2095, 2096)
- 最近的会话文件活动 (IoC 指标)
- cPanel RPM 完整性检查
## 输出
| 文件 | 用途 |
|---|---|
| `/var/log/cve_check_2026_.log` | 完整调试日志 |
| `/var/log/cve_check_2026_.report.txt` | 执行摘要 |
如果 `/var/log` 不可写,则回退到 `/tmp/`。
## 退出代码
| 代码 | 含义 |
|---|---|
| `0` | 一切正常或不适用 |
| `1` | 脚本错误 (非 root 用户,缺少工具) |
| `2` | 至少确认存在一个 CVE 漏洞 |
适用于自动化和监控集成。
## 状态说明
| 状态 | 含义 |
|---|---|
| `SAFE` | 已确认修补 |
| `LIKELY_SAFE` | 可能安全;未在更新日志中确认 |
| `MITIGATED` | 已应用缓解措施(例如:模块黑名单) |
| `VULNERABLE` | 补丁可用,但尚未应用 |
| `VULNERABLE_EOL` | 生命周期结束版本,无补丁修复路径 |
| `NOT_APPLICABLE` | 软件未安装 |
| `UNKNOWN` | 无法自动判断 |
## CVE-2026-41940 — 会话访问检测器
对于 cPanel 服务器,提供了一个辅助脚本来审计活动的会话文件,以查找 CVE-2026-41940 被利用的迹象。
### 功能说明
扫描 `/var/cpanel/sessions/raw/` 中的所有文件,并将每个会话分为以下三类:
| 结果 | 含义 |
|--------|---------|
| `LEGITIMATE` | 通过 `handle_form_login`、`passwd` 或 `api_token` 进行的真实登录 |
| `SUSPICIOUS` | 检测到攻击载荷 (`badpass`) — 未成功访问 |
| `COMPROMISED` | 访问日志中带有 HTTP 200 响应的攻击载荷 — root 已被访问 |
### 运行方式
```
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(已失陷)会话:**
1. 立即隔离服务器
2. 在进行任何清理之前,为磁盘制作快照以供取证
3. 轮换所有密码和 SSH 密钥
4. 检查 `/tmp`、`cron` 和 `~/.ssh/authorized_keys` 是否存在恶意软件
5. 通知托管客户
已失陷的服务器不可信——将所有 cPanel 账户迁移到全新部署的干净服务器:
```
# 在被入侵的服务器上 — 列出所有账户
/usr/local/cpanel/bin/whmapi1 listaccts | grep 'user:'
# 打包每个账户以进行迁移
/scripts/pkgacct /backup
```
```
# 在干净的服务器上 — 恢复每个账户
/scripts/restorepkg /backup/cpmove-.tar.gz
```
或者,使用 **WHM >> 传输工具 >> 从另一台服务器复制多个账户** 进行完全保真的批量迁移。
迁移后:更新 DNS 将域名指向新的服务器 IP,验证所有网站是否正常加载,然后停用或重装受损服务器。
**如果仅发现 SUSPICIOUS(可疑)会话(均已拦截):**
1. 确认 cPanel 已修补:`/scripts/upcp --force`
2. 清除所有会话:`rm -f /var/cpanel/sessions/raw/*`
## CVE-2026-41940 — cPanel 批量密码重置
在受到攻击(即使已被阻止)后,建议作为预防措施轮换所有 cPanel 账户密码。提供了一个专用脚本用于批量重置所有 cPanel 账户密码并将其保存到安全的 CSV 文件中。
### 功能说明
- 通过 `whmapi1` 获取所有 cPanel 账户
- 为每个账户生成 24 个字符的加密随机密码
- 通过 WHM API 重置密码(跳过 MySQL 密码)
- 将所有新凭据保存到 `/root/cpanel_new_passwords_.csv`(权限模式 600)
- 将所有活动记录到 `/root/cpanel_passwd_reset_.log`
### 运行方式
```
curl -fsSL https://raw.githubusercontent.com/sebinxavi/cve-checker-2026/main/cpanel_mass_passwd_reset.sh | sudo bash
```
## 修复指南
### CVE-2026-41940 — cPanel & WHM
将 cPanel 更新至对应分支的已修补版本:
| 分支 | 最低版本号 |
|--------|--------------|
| 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 |
```
/scripts/upcp --force
/scripts/restartsrv_cpsrvd
```
### CVE-2026-31431 — Linux 内核
#### 标准服务器 (非 cPanel)
**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 服务器 (Ubuntu)
仅升级内核包:
```
apt-get install --only-upgrade linux-image-generic linux-headers-generic linux-generic
reboot
```
重启后验证:
```
uname -r
```
#### AWS EC2 上的 cPanel 服务器 (Ubuntu)
AWS EC2 实例使用不同的内核包 (`linux-aws`) —— 通用包名不会更新正在运行的内核:
```
apt update && apt install --only-upgrade -y \
linux-aws \
linux-image-aws \
linux-headers-aws && \
echo "" && \
echo "Currently running : $(uname -r)" && \
echo "Will boot next : $(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 family
```
重新运行检查程序以确认状态变为 `MITIGATED`。在下一个维护时段应用内核补丁。
## 自动化示例
### Cron — 每周检查并发送邮件警报
```
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" admin@example.com < "${REPORT}"
fi
EOF
sudo chmod +x /etc/cron.weekly/cve-check-2026
```
### SSH — 跨多台服务器并发执行
```
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
## 参考
- [CVE-2026-31431 (NVD)](https://nvd.nist.gov/vuln/detail/CVE-2026-31431)
- [CVE-2026-41940 (NVD)](https://nvd.nist.gov/vuln/detail/CVE-2026-41940)
- [cPanel 安全公告](https://support.cpanel.net/hc/en-us/articles/40073787579671)
## 许可证
MIT — 详见 [LICENSE](LICENSE)
## 作者
Sebin Xavi — [sebintech.com](https://sebintech.com)
标签:algif_aead, Claude, cPanel漏洞, CVE-2026-31431, CVE-2026-41940, CVE检测, GPT, IoC检测, Linux内核漏洞, Shell脚本, WHM, 子域名枚举, 安全基线检查, 无线安全, 漏洞管理, 系统安全, 网络安全审计, 跨平台安全工具, 身份验证绕过