
# Multi-OS-Schwachstellenscanner für CVE-2026-31431 (Linux-Kernel) und CVE-2026-41940 (cPanel)
| Familie | Distributionen |
|---|
| Debian | Ubuntu, Debian, Linux Mint, Pop!_OS |
| RHEL | RHEL, CentOS, AlmaLinux, Rocky Linux, Oracle Linux, CloudLinux, Fedora, Amazon Linux |
| SUSE | SLES, openSUSE |
Direkt von GitHub ausführen:
curl -fsSL https://raw.githubusercontent.com/sebinxavi/cve-checker-2026/main/cve_check_2026.sh | sudo bash
Oder herunterladen und dann ausführen (zur Überprüfung empfohlen):
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_algapt, dnf, yum, zyppercpsrvd| Datei | Zweck |
|---|---|
/var/log/cve_check_2026_<timestamp>.log | Vollständiges Debug-Protokoll |
/var/log/cve_check_2026_<timestamp>.report.txt | Management-Zusammenfassung |
Fällt auf /tmp/ zurück, wenn /var/log nicht beschreibbar ist.
| Code | Bedeutung |
|---|---|
0 | Alles in Ordnung oder nicht zutreffend |
1 | Skriptfehler (nicht root, fehlende Tools) |
2 | Mindestens eine CVE als verwundbar bestätigt |
Nützlich für Automatisierung und Monitoring-Integration.
| Status | Bedeutung |
|---|---|
SAFE | Patch bestätigt |
LIKELY_SAFE | Wahrscheinlich sicher; nicht im Changelog bestätigt |
MITIGATED | Workaround angewendet (z. B. Modul-Blacklist) |
VULNERABLE | Patch verfügbar, nicht angewendet |
VULNERABLE_EOL | End-of-Life-Version, kein Patch-Pfad |
NOT_APPLICABLE | Software nicht installiert |
UNKNOWN | Konnte nicht automatisch ermittelt werden |
Für cPanel-Server ist ein Begleitskript verfügbar, um aktive Session-Dateien auf Anzeichen einer Ausnutzung von CVE-2026-41940 zu prüfen.
Scannt alle Dateien in /var/cpanel/sessions/raw/ und kategorisiert jede Session in eine von drei Gruppen:
| Ergebnis | Bedeutung |
|---|---|
LEGITIMATE | Echter Login über handle_form_login, passwd oder api_token |
SUSPICIOUS | Angriffs-Payload (badpass) erkannt — kein erfolgreicher Zugriff |
COMPROMISED | Angriffs-Payload mit HTTP-200-Antwort im Zugriffsprotokoll — Root wurde erreicht |
curl -fsSL https://raw.githubusercontent.com/sebinxavi/cve-checker-2026/main/cpanel_session_checker.sh | sudo bash
Oder zuerst herunterladen:
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
Wenn COMPROMISED-Sessions gefunden werden:
/tmp, cron und ~/.ssh/authorized_keys auf Malware prüfenDem kompromittierten Server kann nicht vertraut werden — migrieren Sie alle cPanel-Konten auf einen frisch bereitgestellten, sauberen Server:
# Auf dem kompromittierten Server — alle Konten auflisten
/usr/local/cpanel/bin/whmapi1 listaccts | grep 'user:'
# Jedes Konto für die Migration paketieren
/scripts/pkgacct <username> /backup
# Auf dem sauberen Server — jedes Konto wiederherstellen
/scripts/restorepkg /backup/cpmove-<username>.tar.gz
Alternativ verwenden Sie WHM >> Transfer-Tool >> Mehrere Konten von einem anderen Server kopieren für die Massenmigration mit vollständiger Wiedergabetreue.
Nach der Migration: DNS aktualisieren, damit die Domains auf die neue Server-IP zeigen, alle Websites auf Funktion prüfen, dann den kompromittierten Server außer Betrieb nehmen oder neu aufsetzen.
Wenn nur SUSPICIOUS-Sessions gefunden werden (alle blockiert):
/scripts/upcp --forcerm -f /var/cpanel/sessions/raw/*Nach einem Angriff (auch wenn er blockiert wurde) wird empfohlen, alle cPanel-Kontopasswörter vorsorglich zu rotieren. Ein dediziertes Skript ist verfügbar, um alle cPanel-Kontopasswörter massenhaft zurückzusetzen und in einer sicheren CSV-Datei zu speichern.
whmapi1 ab/root/cpanel_new_passwords_<timestamp>.csv (Modus 600)/root/cpanel_passwd_reset_<timestamp>.logcurl -fsSL https://raw.githubusercontent.com/sebinxavi/cve-checker-2026/main/cpanel_mass_passwd_reset.sh | sudo bash
Nachdem die neuen Passwörter sicher an die Kontoinhaber übermittelt wurden, die CSV-Datei löschen:
shred -u /root/cpanel_new_passwords_*.csv
cPanel auf den gepatchten Build für Ihren Zweig aktualisieren:
| Zweig | Mindest-Build |
|---|---|
| 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
Debian / Ubuntu:
apt update && apt upgrade -y && reboot
RHEL / AlmaLinux / CloudLinux:
dnf update kernel -y && reboot
# oder
yum update kernel -y && reboot
Mit KernelCare (kein Neustart erforderlich):
kcarectl --update
Warnung: Führen Sie
apt upgrade -ynicht auf einem cPanel-Server aus — es kann von cPanel verwaltete Pakete (Apache, PHP, MySQL) aktualisieren und Dienste beschädigen.
Nur das Kernel-Paket aktualisieren:
apt-get install --only-upgrade linux-image-generic linux-headers-generic linux-generic
reboot
Nach dem Neustart überprüfen:
uname -r
AWS-EC2-Instanzen verwenden ein anderes Kernel-Paket (linux-aws) — die generischen Paketnamen aktualisieren den laufenden Kernel nicht:
apt update && apt install --only-upgrade -y \
linux-aws \
linux-image-aws \
linux-headers-aws && \
echo "" && \
echo "Derzeit läuft : $(uname -r)" && \
echo "Startet als Nächstes: $(ls /boot/vmlinuz-* | sort -V | tail -1 | sed 's|/boot/vmlinuz-||')"
Den angezeigten Kernel für den nächsten Start bestätigen, dann neu starten:
reboot
Das verwundbare Modul auf die Blacklist setzen, um das Laden zu verhindern:
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
# oder
dracut --force # RHEL-Familie
Den Checker erneut ausführen, um zu bestätigen, dass sich der Status auf MITIGATED ändert. Den Kernel-Patch beim nächsten Wartungsfenster anwenden.
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
Dieses Skript ist schreibgeschützt — es prüft nur das System und schreibt Protokolldateien. Es tut nicht:
Überprüfen Sie das Skript immer, bevor Sie curl an bash weiterleiten. Den Quellcode anzeigen unter:
https://github.com/sebinxavi/cve-checker-2026/blob/main/cve_check_2026.sh
MIT — siehe LICENSE
Sebin Xavi — sebintech.com