Linux-kernelkwetsbaarheid CVE-2026-98432: tijdelijke blokkade en kernelpatch toepassen
CVE-2026-98432 is een kwetsbaarheid in de Linux-kernel waarbij kernelcode die IPv4-TCP-verbindingen aanneemt al vrijgegeven geheugen opnieuw leest; het CVE-team van de Linux-kernel heeft haar als Critical beoordeeld. Omdat de fout zonder authenticatie op afstand aan te vallen is, hebben we een Lightsail-server met AlmaLinux 9.8, Nginx en Apache bijgewerkt naar de gecorrigeerde kernelpakketten, opnieuw opgestart en de patch daarna gecontroleerd aan de hand van de draaiende kernelversie.
1️⃣ Linux-kernelkwetsbaarheid CVE-2026-98432: hoe de fout werkt en wat er geraakt wordt
Komt er een TCP-verbindingsverzoek (SYN) binnen met IPv4-opties, dan bewaart de kernel een kopie van die opties bij de wachtende verbinding om ze in zijn antwoord (SYN-ACK) terug te sturen. Zodra de verbinding tot stand komt, gaat deze kopie zonder duplicaat direct over naar de socket van de nieuwe verbinding.
Stuurt de client in de tussentijd de SYN opnieuw, dan kan een andere CPU net een SYN-ACK met dezelfde opties aan het maken zijn. Sluit de nieuwe verbinding op dat moment en geeft de kernel het geheugen van de opties meteen vrij, dan leest de code die de SYN-ACK maakte al vrijgegeven geheugen: een use-after-free.
Deze code draait in de fase waarin de kernel het verbindingsverzoek verwerkt, nog voordat de applicatie de verbinding ziet. Daarom kan een aanval elke poort die via IPv4-TCP luistert op afstand zonder inloggegevens bereiken, welke dienst die poort ook heeft geopend, en de score is 9.8 volgens CVSS 3.1.
De fout bestaat sinds Linux 4.4, dus de meeste Linux-servers zijn getroffen. Van de Lightsail-blueprints noemt de AWS-handleiding AlmaLinux 9, CentOS Stream 9, Debian, openSUSE Leap, Ubuntu, Amazon Linux 2 en Amazon Linux 2023. De aankondiging van AlmaLinux noemt 8, 9 en 10, en applicatieblueprints van Lightsail zoals WordPress en LAMP draaien ook op Debian of Ubuntu en vallen er dus ook onder.
FreeBSD en Windows Server, die de Linux-kernel niet gebruiken, vallen erbuiten.
Ook servers waarop MPTCP (Multipath TCP) uitstaat, hebben de patch nodig. De gepubliceerde aanval richtte zich op servers met een open MPTCP-listener, maar de fout zelf zit in de gewone IPv4-TCP-code; daarom zegt ook de aankondiging van AlmaLinux dat systemen zonder MPTCP eveneens gecorrigeerd moeten worden.
De gecorrigeerde kernel geeft het geheugen van de opties pas vrij nadat een RCU-wachtperiode (grace period) voorbij is, zodat het geheugen blijft staan zolang een andere CPU de opties leest om een SYN-ACK te maken.
2️⃣ Linux-kernelversie controleren: is de kernel gecorrigeerd?
Of een patch nodig is, hangt af van de draaiende kernelversie; daarom hebben we vóór de update eerst de distributie en de kernelversie gecontroleerd.
cat /etc/os-releaseNAME="AlmaLinux"
VERSION="9.8 (Olive Jaguar)"
ID="almalinux"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.8"
PLATFORM_ID="platform:el9"
PRETTY_NAME="AlmaLinux 9.8 (Olive Jaguar)"
ANSI_COLOR="0;34"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:almalinux:almalinux:9::baseos"
HOME_URL="https://almalinux.org/"
DOCUMENTATION_URL="https://wiki.almalinux.org/"
BUG_REPORT_URL="https://bugs.almalinux.org/"
ALMALINUX_MANTISBT_PROJECT="AlmaLinux-9"
ALMALINUX_MANTISBT_PROJECT_VERSION="9.8"
REDHAT_SUPPORT_PRODUCT="AlmaLinux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.8"
SUPPORT_END=2032-06-01uname -r5.14.0-687.55.1.el9_8.x86_64nft --version-bash: nft: command not foundDe distributie was AlmaLinux 9.8 en de draaiende kernel 5.14.0-687.55.1.el9_8. Ook het commando nft voor de tijdelijke blokkeerregel ontbrak, dus het pakket nftables was niet geïnstalleerd.
rpm -q kernelkernel-5.14.0-611.30.1.el9_7.x86_64
kernel-5.14.0-687.49.1.el9_8.x86_64
kernel-5.14.0-687.55.1.el9_8.x86_64[rpm -q kernel] toont de lijst met geïnstalleerde kernels, maar tot de herstart draait alleen de kernel die [uname -r] toont echt. Vergelijk deze versie met de gecorrigeerde versie in de aankondiging van AlmaLinux.
| Distributie | Gecorrigeerde kernelversie (deze versie of hoger) |
|---|---|
| AlmaLinux 8 | kernel-4.18.0-553.182.1.el8_10 |
| AlmaLinux 9 | kernel-5.14.0-687.64.1.el9_8 |
| AlmaLinux 10 | kernel-6.12.0-211.72.1.el10_2 |
5.14.0-687.55.1.el9_8 was lager dan 5.14.0-687.64.1.el9_8, de gecorrigeerde versie voor AlmaLinux 9, en moest dus bijgewerkt worden.
Om te zien of er een open weg voor de aanval was, hebben we de luisterende IPv4-TCP-poorten en de MPTCP-status gecontroleerd.
ss -lnt4State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 511 0.0.0.0:443 0.0.0.0:*
LISTEN 0 511 0.0.0.0:80 0.0.0.0:*sysctl net.mptcp.enablednet.mptcp.enabled = 0ss -lnMState Recv-Q Send-Q Local Address:Port Peer Address:PortDe IPv4-TCP-poorten die op alle adressen (0.0.0.0) luisterden, waren 80 en 443 van de webserver en 22 van SSH.
[net.mptcp.enabled] was 0 en er waren geen MPTCP-sockets, dus de MPTCP-route van de gepubliceerde aanval was dicht. De fout begint echter bij gewone IPv4-TCP-verbindingen, dus een server die op drie IPv4-poorten luistert, heeft de patch nog steeds nodig.
3️⃣ Linux-kernelupdate: zeven kernelpakketten en een herstart
Voordat we de kernel wijzigden, hebben we in de Lightsail-console een handmatige snapshot van de instance gemaakt. Lightsail heeft geen scherm om de opstartkernel te kiezen; start de server niet met de nieuwe kernel, dan herstel je hem door van deze snapshot een nieuwe instance te maken.
🔲 Lightsail-snapshotsimulator
Linux 기반 블루프린트를 사용하는 인스턴스에 취약점(CVE-2026-98432)이 발생할 수 있습니다. 인스턴스가 영향을 받는지 확인하고 사용 중인 Linux 배포판에 최신 보안 업데이트를 적용하는 것이 좋습니다.
(us-east-1a)
스냅샷을 생성하여 인스턴스, 해당 시스템 디스크 및 연결된 디스크를 백업할 수 있습니다.
일일 스냅샷 시간은 오전 5:00 GMT+0입니다.Amazon은 가장 최근의 스냅샷 7개를 저장합니다.
🔲 Linux-kernelupdate en herstart controleren
De gecorrigeerde kernelversie in de repository hebben we gecontroleerd met een dnf-lijst.
dnf --showduplicates list available kernel kernel-core kernel-modules kernel-modules-core kernel-tools kernel-tools-libs kernel-headerskernel.x86_64 5.14.0-687.64.1.el9_8 baseos
kernel-core.x86_64 5.14.0-687.64.1.el9_8 baseos
kernel-modules.x86_64 5.14.0-687.64.1.el9_8 baseos
kernel-modules-core.x86_64 5.14.0-687.64.1.el9_8 baseos
kernel-tools.x86_64 5.14.0-687.64.1.el9_8 baseos
kernel-tools-libs.x86_64 5.14.0-687.64.1.el9_8 baseos
kernel-headers.x86_64 5.14.0-687.64.1.el9_8 appstreamdnf download kernel-core-5.14.0-687.64.1.el9_8Downloadt alleen het pakketbestand kernel-core naar de huidige map, zonder het te installeren.
rpm -Kv kernel-core-5.14.0-687.64.1.el9_8.x86_64.rpm V4 RSA/SHA256 Signature, key ID b86b3716: OKrpm -qp --changelog kernel-core-5.14.0-687.64.1.el9_8.x86_64.rpm | grep CVE-2026-98432- ipv4: free inet_opt and ireq_opt after an RCU grace period (CKI Backport Bot) [RHEL-295635] {CVE-2026-98432}De handtekening was OK en het wijzigingslogboek bevatte een regel die CVE-2026-98432 corrigeert. In de dnf-beveiligingsadviezen (updateinfo) die we op 3 november controleerden, stond deze CVE nog niet, dus met [dnf upgrade --security] was deze kernel niet op te halen.
Daarom hebben we de zeven kernelpakketten geïnstalleerd met de versie erbij.
dnf install -y kernel-5.14.0-687.64.1.el9_8 kernel-core-5.14.0-687.64.1.el9_8 kernel-modules-5.14.0-687.64.1.el9_8 kernel-modules-core-5.14.0-687.64.1.el9_8 kernel-tools-5.14.0-687.64.1.el9_8 kernel-tools-libs-5.14.0-687.64.1.el9_8 kernel-headers-5.14.0-687.64.1.el9_8================================================================================
Package Architecture Version Repository Size
================================================================================
Installing:
kernel x86_64 5.14.0-687.64.1.el9_8 baseos 1.1 M
kernel-core x86_64 5.14.0-687.64.1.el9_8 baseos 17 M
kernel-modules x86_64 5.14.0-687.64.1.el9_8 baseos 40 M
kernel-modules-core x86_64 5.14.0-687.64.1.el9_8 baseos 31 M
Upgrading:
kernel-headers x86_64 5.14.0-687.64.1.el9_8 appstream 2.6 M
kernel-tools x86_64 5.14.0-687.64.1.el9_8 baseos 1.3 M
kernel-tools-libs x86_64 5.14.0-687.64.1.el9_8 baseos 1.1 M
Removing:
kernel x86_64 5.14.0-611.30.1.el9_7 @baseos 0
kernel-core x86_64 5.14.0-611.30.1.el9_7 @baseos 64 M
kernel-modules x86_64 5.14.0-611.30.1.el9_7 @baseos 33 M
kernel-modules-core x86_64 5.14.0-611.30.1.el9_7 @baseos 27 M
Transaction Summary
================================================================================
Install 4 Packages
Upgrade 3 Packages
Remove 4 Packages
Total download size: 94 M
Complete!Er werden vier nieuwe kernelpakketten geïnstalleerd, de drie pakketten kernel-headers, kernel-tools en kernel-tools-libs bijgewerkt, en geen enkel ander pakket veranderde. Omdat de instelling [installonly_limit=3] maximaal drie geïnstalleerde kernels bewaart, werden de vier pakketten van de oudste, 5.14.0-611.30.1.el9_7, verwijderd; van downloaden tot voltooien duurde het 74 seconden.
Het officiële commando uit de aankondiging van AlmaLinux haalt de repository-informatie opnieuw op en werkt daarna alle pakketten bij waarvoor een update is.
sudo dnf clean metadata && sudo dnf upgradeOmdat er naast de kernel ook andere pakketten worden bijgewerkt, staan de stappen om de hele distributieversie te upgraden in Alma Linux-update: 9.4 → 9.8 in LightSail.
De nieuwe kernel wordt pas na een herstart actief.
systemctl rebootNadat de server weer was opgestart, hebben we achtereenvolgens de draaiende kernel, de geïnstalleerde kernels en de standaardkernel gecontroleerd.
uname -r5.14.0-687.64.1.el9_8.x86_64rpm -q kernelkernel-5.14.0-687.49.1.el9_8.x86_64
kernel-5.14.0-687.55.1.el9_8.x86_64
kernel-5.14.0-687.64.1.el9_8.x86_64grubby --default-kernel/boot/vmlinuz-5.14.0-687.64.1.el9_8.x86_64De server was binnen een minuut na het herstartcommando weer terug, en zowel de draaiende kernel als de standaardkernel voor de volgende start werden 5.14.0-687.64.1.el9_8. De vorige kernel 5.14.0-687.55.1.el9_8 is er nog; geeft de nieuwe kernel problemen, dan kun je de standaardkernel terugzetten.
| Onderdeel | Vóór de patch | Na de patch |
|---|---|---|
| Draaiende kernel (uname -r) | 5.14.0-687.55.1.el9_8 | 5.14.0-687.64.1.el9_8 |
| Standaardkernel (grubby) | 5.14.0-687.55.1.el9_8 | 5.14.0-687.64.1.el9_8 |
| Geïnstalleerde kernels (rpm -q kernel) | 5.14.0-611.30.1.el9_7, 5.14.0-687.49.1.el9_8, 5.14.0-687.55.1.el9_8 | 5.14.0-687.49.1.el9_8, 5.14.0-687.55.1.el9_8, 5.14.0-687.64.1.el9_8 |
4️⃣ Tijdelijke blokkade vóór de herstart: nft-regels en hun grenzen
Kun je niet meteen herstarten, dan kun je de pakketten die de fout veroorzaken met een tijdelijke regel blokkeren tot de gecorrigeerde kernel erop staat. De commando's in dit deel hebben we niet zelf uitgevoerd; ze volgen de officiële richtlijnen (de aankondigingen van AlmaLinux en AWS).
Op de Lightsail-server met AlmaLinux 9.8, Nginx en Apache duurt een herstart maar een paar minuten, dus hebben we de kernel meteen bijgewerkt, zonder tijdelijke blokkade.
De fout wordt alleen veroorzaakt door TCP-verbindingsverzoeken met IPv4-opties. Normaal verkeer gebruikt bijna nooit IPv4-opties, dus als je alleen IPv4-TCP-pakketten met opties blokkeert, blijven gewone verbindingen gewoon werken.
sudo dnf install -y nftablesHet commando nft zit in het pakket nftables, dat samen met firewalld wordt geïnstalleerd. Ontbreekt het commando op je server, installeer het dan eerst.
sudo nft -f - <<'EOF'
add table ip cve_2026_98432
delete table ip cve_2026_98432
table ip cve_2026_98432 {
chain prerouting {
type filter hook prerouting priority -300; policy accept;
meta l4proto tcp ip hdrlength > 5 counter drop
}
}
EOFMaakt een tabel die in de fase prerouting TCP-pakketten met een IPv4-headerlengte groter dan 5, dus pakketten met IPv4-opties, laat vallen. AlmaLinux heeft deze regel op 8, 9 en 10 getest; hij werkt samen met firewalld en kan veilig meerdere keren worden uitgevoerd.
sudo nft list table ip cve_2026_98432Controleert of de regel actief is; de waarde counter in de uitvoer is het aantal tot nu toe geblokkeerde pakketten.
sudo nft delete table ip cve_2026_98432Na de herstart met de gecorrigeerde kernel verwijder je de tabel met dit commando.
Deze regel verdwijnt bij een herstart; heb je herstart voordat de gecorrigeerde kernel erop stond, voer het commando dat de tabel maakt dan opnieuw uit.
Voor servers met applicaties die op IPv4-opties steunen, is deze regel niet geschikt. Een voorbeeld zijn netwerken met CIPSO-beveiligingslabels (NetLabel), die in IPv4-opties worden meegestuurd; in de standaardconfiguratie worden ze niet gebruikt.
De regel beschermt de host en containers die hun verkeer via de host ontvangen (de standaardwerkwijze van Podman en Docker). Verkeer tussen containers op dezelfde host kan deze regel omzeilen.
Op Debian, Ubuntu en openSUSE gebruik je de iptables-regel van één regel uit de AWS-handleiding. De kernels van AlmaLinux 9 en CentOS Stream 9 missen de u32-match die deze regel gebruikt; gebruik daar de nft-regel hierboven.
sudo iptables -I INPUT 1 -p tcp -m u32 --u32 '0>>24&0x0f=6:15' -j DROPDe u32-expressie leest het veld met de IPv4-headerlengte; is de waarde groter dan 5, dan heeft het pakket IPv4-opties. Verwijder deze regel na het installeren van de gecorrigeerde kernel met het commando hieronder.
sudo iptables -D INPUT -p tcp -m u32 --u32 '0>>24&0x0f=6:15' -j DROPOngebruikte poorten in de Lightsail-firewall sluiten en de overige beperken tot vertrouwde IP-adressen, raadt ook de AWS-handleiding aan.
🔢 FAQ & aanbevolen content
Kernelversie
Commando's om de Linux-kernelversie te controleren en hoe je de distributieversie controleert
Op Linux controleer je de kernelversie met het commando uname.
ℹ️ Affiliatemelding
De content van deze site bevat affiliatelinks. Koopt een bezoeker via een van deze links een product of dienst, dan ontvangt deze site een commissie van de verkoper. Het bedrag dat de koper betaalt (bij acties gaat het omlaag ↓) wordt daardoor niet hoger. De vermelde prijzen, kortingen en voorraad gelden op het moment van schrijven en kunnen afwijken; controleer ze daarom vóór je aankoop bij de verkoper. Producten worden gekozen en beoordeeld volgens onze eigen criteria, en commissies hebben geen invloed op de volgorde of de inhoud van de beoordelingen.