CVE-2026-98432: o vulnerabilitate TCP din kernelul Linux permite preluarea de la distanță, ca root, a serverelor MPTCP
O vulnerabilitate critică de tip use-after-free în stiva TCP IPv4 a kernelului Linux, identificată ca CVE-2026-98432, poate fi transformată în execuție de cod de la distanță, fără autentificare și cu drepturi de root, pe serverele care acceptă conexiuni Multipath TCP (MPTCP). Un exploit funcțional a fost deja demonstrat, iar patch-urile ajung inegal la distribuțiile majore.
Ce s-a întâmplat
Problema este o condiție de cursă (race condition) în modul în care kernelul procesează cererile de conexiune TCP. Când o conexiune trece din stadiul de cerere în așteptare în cel de socket complet, kernelul predă bufferul cu opțiunile IP noului socket fără să-și păstreze o copie proprie. Dacă, în același moment, un alt nucleu de procesor tratează un SYN retransmis pentru aceeași cerere, acea a doua rută de cod poate citi în continuare o zonă de memorie care și-a schimbat deja proprietarul — un use-after-free clasic. O fereastră similară apare la migrarea socket-urilor de cerere, când este activat net.ipv4.tcp_migrate_req sau se folosește un program BPF_SK_REUSEPORT_SELECT_OR_MIGRATE.
Pe scurt:
- Afectate: kernelurile Linux începând cu versiunea 4.4, inclusiv cele din Ubuntu, Red Hat Enterprise Linux și Rocky Linux.
- Severitate: 9,8/10 în evaluarea echipei CVE a kernelului Linux. Red Hat o notează mai jos, cu 5,9, tratând-o mai ales ca risc de blocare a kernelului (denial-of-service), pentru că declanșarea cursei este dificilă.
- RCE dovedit: un exploit demonstrativ — realizat de un model AI încă nelansat — a ocolit randomizarea spațiului de adrese al kernelului (KASLR) și a rulat comenzi arbitrare ca root pe un server cu listener MPTCP, în anumite condiții, în aproximativ 53 de minute.
- Și TCP-ul obișnuit este afectat, deși execuția de cod de la distanță nu a fost demonstrată public pe servere fără listener MPTCP.
- Nicio exploatare confirmată „în sălbăticie” până la momentul scrierii.
- Neafectate: macOS (alt kernel) și RHEL 7 (codul vulnerabil nu există acolo).
De ce contează
MPTCP permite unei singure conexiuni să folosească simultan mai multe căi de rețea — de exemplu Wi-Fi și date mobile — și de obicei este oprit dacă aplicația nu îl cere explicit. Problema: începând cu Go 1.24, listenerele TCP de pe Linux activează implicit MPTCP atunci când kernelul îl suportă. Orice serviciu scris în Go poate expune, așadar, un listener MPTCP fără ca administratorii să știe.
Diferența dintre cele două scoruri de severitate merită și ea atenție. O cursă greu de câștigat nu este una imposibil de câștigat, iar o demonstrație publică ce transformă un „bug de crash” în root de la distanță în mai puțin de o oră arată cât de repede se scurtează termenele de exploatare — mai ales pe măsură ce dezvoltarea de exploit-uri asistată de AI se maturizează.
Situația patch-urilor (la 30 octombrie 2026)
- Kernelul upstream: corectat și portat în ramurile stabile întreținute.
- Debian: corectat în kernelul
6.1.190-1(Debian 12 „Bookworm”) și6.12.113-1(Debian 13 „Trixie”); testing și unstable sunt de asemenea corectate. - Ubuntu: 22.04 LTS, 24.04 LTS, 26.04 LTS și 26.10 sunt încă vulnerabile, cu corecturi de kernel în lucru.
- RHEL 8, 9, 10 / Rocky Linux 8, 9, 10: afectate; corecturile sunt planificate în actualizările următoare.
- Oracle Linux, Amazon Linux, SUSE: corecturi disponibile pentru unele versiuni de kernel.
Ce trebuie făcut
- Mai întâi patch-ul. Urmăriți buletinele de securitate ale distribuției și instalați pachetele de kernel actualizate imediat ce apar — apoi reporniți sau confirmați că live-patching-ul acoperă acest CVE.
- Identificați expunerea MPTCP. Rulați
ss -Mtlnpentru a lista listenerele MPTCP și verificațisysctl net.mptcp.enabled. Atenție specială la serviciile compilate cu Go 1.24 sau mai nou. - Nu vă bazați doar pe dezactivarea MPTCP. Vulnerabilitatea de fond poate fi atinsă și prin TCP obișnuit, deci oprirea MPTCP reduce ruta RCE demonstrată, dar nu elimină bug-ul.
- Filtrați acolo unde nu puteți încă actualiza. Restricționați serviciile expuse la rețele sau intervale IP de încredere. Ca măsură temporară, blocați pachetele TCP IPv4 de intrare care conțin opțiuni IP, la nivel de firewall pe gazdă sau la perimetru (de exemplu cu nftables) — traficul legitim aproape că nu le folosește. Testați înainte de o implementare generală.
- Verificați setările de migrare. Dacă nu aveți nevoie, lăsați
net.ipv4.tcp_migrate_reqdezactivat și auditați programele BPF de tip reuseport. - Urmăriți blocările. Kernel panic-urile sau mesajele „oops” inexplicabile în codul TCP pe gazdele expuse la internet merită investigate, nu doar rezolvate cu un restart.
Să știți care dintre serverele expuse la internet rulează încă un kernel vulnerabil — și care expun discret servicii la care nu vă așteptați — este exact tipul de lacună pe care serviciul nostru de scanare a vulnerabilităților este construit să o scoată la iveală, astfel încât efortul de patching să meargă acolo unde expunerea este reală.
