
Prüft Linux-KVM-Hosts auf Kernel-Exposition gegenüber CVE-2026-99999, identifiziert feste Kernel-Ziele und scannt viele Hosts über SSH mit JSON-/CSV-Berichten.
Werkzeuge, um festzustellen, ob ein Linux-KVM-Host von CVE-2026-99999 betroffen ist und welchen Kernel er benötigt.
| Datei | Läuft auf | Zweck |
|---|---|---|
check_cve_2026_99999.sh | dem zu prüfenden Host | Prüft den laufenden Kernel, installierte Kernel und verfügbare gepatchte Kernel |
scan_hosts.py | Ihrer Workstation / Jump-Box | Führt die Prüfung auf vielen Hosts über SSH aus und schreibt einen Bericht |
hosts.example.ini | – | Beispiel-Hostliste |
| Eingeführt | Linux 2.6.27 (Commit f43798c27684) |
| Behoben in | 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.57, 7.2.11, 7.3-rc7 und später |
| Code | include/net/ip.h, net/ipv4/ip_output.c, net/bridge/netfilter/nf_conntrack_bridge.c, net/netfilter/nfnetlink_queue.c, net/netfilter/xt_CHECKSUM.c, net/xfrm/xfrm_output.c |
Kernel-Zweige ohne gepatchte Version (4.x, 5.4, 6.2–6.5, 6.7–6.11, 6.13–6.17, 7.0, 7.1, …) sind betroffen, sofern die Distribution den Fix nicht zurückportiert hat. Der verwundbare IPv4-Output-Code ist immer fest einkompiliert, daher ist das Entladen von Modulen oder das Entfernen von Firewall-Regeln keine Gegenmaßnahme. Ein Kernel-Upgrade mit Neustart (oder das Anwenden eines Live-Patches des Herstellers) ist es.
# One host, locally
sudo ./check_cve_2026_99999.sh
# Many hosts over SSH
./scan_hosts.py -f hosts.ini --list-hosts # 1. confirm the host list was read correctly
./scan_hosts.py -f hosts.ini -u root # 2. scan
awk, grep, sedcheck_cve_2026_99999.sh [--json] [--refresh-metadata]
check_cve_2026_99999.sh --kernel <release> [--json]
check_cve_2026_99999.sh --help
| Option | Bedeutung |
|---|---|
| (keine) | Menschenlesbarer Bericht für diesen Host |
--json | Ein JSON-Objekt in einer einzigen Zeile (wird von scan_hosts.py verwendet) |
--refresh-metadata | Aktualisiert die Metadaten des Paket-Repositorys (dnf --refresh, apt-get update, zypper refresh, checkupdates unter Arch), bevor nach einem gepatchten Kernel gesucht wird. Ohne diese Option wird nur der lokale Cache gelesen, der möglicherweise veraltet ist. |
--kernel <release> | Prüft nur eine Versionszeichenkette, z. B. eine aus einem Inventar oder einer CMDB kopierte. Es wird nichts über den lokalen Host geprüft. |
-h, --help | Zeigt die integrierte Hilfe an |
sudo ./check_cve_2026_99999.sh
sudo ./check_cve_2026_99999.sh --refresh-metadata
sudo ./check_cve_2026_99999.sh --json > "$(hostname)-cve.json"
./check_cve_2026_99999.sh --kernel 6.6.150 # AFFECTED
./check_cve_2026_99999.sh --kernel 6.12.113 # NOT_AFFECTED
./check_cve_2026_99999.sh --kernel 5.14.0-427.13.1.el9_4.x86_64 # UNKNOWN (vendor kernel, see below)
Führen Sie es auf einem Host aus, ohne es dorthin zu kopieren:
ssh root@kvm01 'bash -s' < check_cve_2026_99999.sh
| Verdict | Exit-Code | Bedeutung |
|---|---|---|
NOT_AFFECTED | 0 | Der Kernel enthält den Fix bereits: Seine Version enthält ihn, das Vendor-Changelog listet die CVE auf, oder ein geladener Live-Patch enthält ihn |
AFFECTED | 1 | Upstream-basierter Kernel (Arch, Fedora, Debian, eigene Builds), dessen Version älter als der Fix ist |
LIKELY_AFFECTED | 1 | Vendor-Kernel (RHEL-Familie, Ubuntu, Proxmox, SUSE, …), dessen Changelog gelesen wurde und die CVE nicht erwähnt. Mit der Vendor-Advisory bestätigen. |
UNKNOWN | 2 | Vendor-Kernel, dessen Changelog nicht gelesen werden konnte, oder ein Versionsstring, der nicht geparst werden konnte. Manuell prüfen. |
| – | 3 | Nutzungsfehler |
Upstream-Version. Die kernel.org-Version, auf der der Build basiert, wird ermittelt:
6.1.0-28-amd64 ist tatsächlich 6.1.119)/proc/version_signatureuname -rEnthält diese Version den Fix, ist der Host NOT_AFFECTED.
Backports. Liegt die Version im betroffenen Bereich, wird das Changelog des Kernel-Pakets
(rpm -q --changelog oder /usr/share/doc/<pkg>/changelog.Debian.gz) nach
CVE-2026-99999 durchsucht. Ein Treffer bedeutet, dass der Vendor den Fix zurückportiert hat.
Live-Patches. Ist ein Live-Patch geladen, werden kpatch list, canonical-livepatch status und
das passende Changelog des kpatch-patch-*-Pakets nach der CVE durchsucht.
Andernfalls ist der Host AFFECTED. Bei Vendor-Kernels ist er LIKELY_AFFECTED, oder UNKNOWN, wenn kein
Changelog verfügbar war.
Dieselbe Prüfung wird für jeden unter /lib/modules installierten Kernel wiederholt. Ist ein gefixter Kernel installiert,
aber nicht aktiv, empfiehlt die Remediation einen Neustart in diesen.
Ist der laufende Kernel nicht gefixt, wird der Paketmanager des Hosts gefragt, welcher neuere Kernel verfügbar ist:
| Paketmanager | Was geprüft wird | Empfohlener Befehl |
|---|---|---|
| dnf / yum (RHEL, Rocky, Alma, Oracle, Fedora) | Errata, die die CVE auflisten (updateinfo list --cve), plus der neueste kernel / kernel-uek | dnf upgrade --advisory=<ID> |
| apt (Debian, Ubuntu, Proxmox) | Aktualisierbare linux-image-*-, linux-generic-, proxmox-kernel-*-, pve-kernel-*-Pakete | apt-get install --only-upgrade <pkg> |
| zypper (SLES, openSUSE) | Patches, die die CVE auflisten, plus der neueste kernel-default | zypper patch --cve=CVE-2026-99999 |
| pacman (Arch) | Neuere linux, linux-lts, linux-zen, linux-hardened, linux-rt | pacman -Syu |
Jeder Kandidat wird gekennzeichnet:
FIXES: Eine Vendor-Advisory nennt die CVE, oder allein die Version belegt, dass der Fix enthalten istNO_FIX: Die Version liegt noch im betroffenen Bereich (z. B. linux-lts 6.12.110, wenn 6.12.113 benötigt wird)UNKNOWN: Eine Vendor-Versionsnummer, die nicht für sich beurteilt werden kann. Die Vendor-Advisory prüfen
(unter Ubuntu: pro fix CVE-2026-99999).Die Zeile Target zeigt den besten Kandidaten, und Remediation zeigt, was zu tun ist: in einen installierten gefixten Kernel neu starten, den Upgrade-Befehl ausführen, einen unbestätigten Kandidaten prüfen oder auf den Vendor warten, weil noch nichts Gefixtes verfügbar ist.
CVE-2026-99999 check - host kvm01 - 2026-10-18T08:58:20Z
OS : Rocky Linux 9.4 (Blue Onyx)
Running kernel : 5.14.0-427.13.1.el9_4.x86_64
Upstream base : 5.14.0
Kernel package : kernel-core-5.14.0-427.13.1.el9_4.x86_64
Changelog search : no-mention
Live patches : none
VERDICT : LIKELY_AFFECTED
Reason : branch 5.14 has no fixed stable release; vendor kernel changelog does not mention ...
Target : kernel 5.14.0-503.40.1.el9_5
Remediation : dnf upgrade --advisory=RLSA-2026:1234, then reboot
Installed kernels:
5.14.0-427.13.1.el9_4.x86_64 LIKELY_AFFECTED (running)
Available targets (dnf, metadata from local cache):
kernel 5.14.0-503.40.1.el9_5 FIXES advisory RLSA-2026:1234
KVM / exposure indicators (informational - the vulnerable IPv4 output path is always built in):
/dev/kvm present : yes
...