Publicat în

CVE-2026-98432: Vulnerabilitate Critică în Kernelul Linux Permite Acces Root Remote prin MPTCP — Ce Trebuie să Știți și Ce să Faceți Acum

O echipă de cercetare Anthropic a demonstrat că un model Claude nereleasat poate descoperi și exploata o vulnerabilitate zero-click în kernelul Linux, permițând atacatorilor neautentificați să execute cod arbitrar ca root pe serverele care expun listeneri Multipath TCP (MPTCP). Urmată sub identificatorul CVE-2026-98432, defectul este o condiție de tip use-after-free (UAF) indusă de race condition în stiva de rețea IPv4, cu scor CVSS 9.8 și impact pe opt ramuri de kernel începând cu versiunea 4.4. Demonstrația a necesitat aproximativ 53 de minute de la scurgerea inițială de memorie până la executarea comenzii shell cu privilegii maxime. Pentru administratorii de infrastructură și furnizorii de hosting, mesajul este clar: verificați versiunile kernel-ului, aplicați patch-urile upstream sau ale distribuțiilor, și evaluați expunerea MPTCP în producție. Articolul de față detaliază mecanismul tehnic, surface-ul de atac, starea patch-urilor per distribuție și pașii concreți de mitigare și verificare.

Mecanismul Tehnic: Race Condition la Nivel de IP Options în IPv4 TCP Handshake

Vulnerabilitatea locuiește în modul în care kernelul gestionează opțiunile IP în timpul stabilirii conexiunilor TCP. Când o nouă conexiune este creată, kernelul poate transfera proprietatea opțiunilor IP de la cererea de conexiune pending (structura request_sock) către socket-ul nou creat (struct sock), fără a face o copie separată. Problema apare când un alt CPU procesează simultan o cerere retransmisă și accesează aceleași opțiuni pentru a construi răspunsul SYNACK. Dacă socket-ul copil este eliberat înainte ca al doilea CPU să termine accesarea opțiunilor, kernelul citește memorie deja eliberată — clasa clasică de use-after-free.

Fix-ul upstream (commit b8f7e2a3c1d4 și backport-urile corespunzătoare) adresază problema prin amânarea eliberării obiectelor afectate până după o perioadă de grație RCU (Read-Copy-Update), oferind cititorilor concurenți timp să termine accesarea. Această abordare RCU-bazată este standard în kernel pentru probleme de lifetime management în contexte lockless, dar implementarea corectă la nivel de inet_connection_sock și ip_options_rcu a fost lipsă până acum. Detaliile complete ale patch-ului sunt disponibile în istoricul kernelului; pentru serverele gestionate de dedicated-servers.ro, monitorizăm backport-urile în ramurile LTS și aplicăm actualizările în fenestre de mentenanță programată.

MPTCP: Surface-ul de Atac Remote și De Ce Nu E Doar Opțiune

Multipath TCP extinde TCP clasic permițând utilizarea simultană a multiplelor interfețe de rețea în cadrul unei singure conexiuni — agregare de bandă, failover, selecție de path. În Linux, MPTCP este implementat în kernel și este opt-in: aplicațiile trebuie să solicită explicit IPPROTO_MPTCP la creare de socket. Totuși, mecanisme precum eBPF (programe sock_ops sau cgroup/connect4) sau configurații de tip sysctl net.mptcp.enabled=1 combinate cu hook-uri de socket pot forța aplicații să folosească MPTCP implicit.

Exploitul demonstrat de Anthropic cere un listener MPTCP activ — de exemplu, un server care acceptă conexiuni pe portul 80/443 cu IPPROTO_MPTCP sau un proxy/load balancer configurat pentru MPTCP. În absența unui astfel de listener, calea de exploatare remote nu este accesibilă, deși bug-ul există în codul IPv4 generic. Pentru infrastructurile găzduite pe serverspan.ro, verificăm configurațiile de load balancing și proxy-uri (HAProxy, NGINX cu patch-uri MPTCP, Envoy) pentru a confirma dacă expun socket-uri MPTCP pe interfețe publice.

Starea Patch-urilor: Ce Distribuții Au Fix, Ce Au În Așteptare

Lansările upstream corectate includ: 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.56, 7.2.10 și 7.3-rc7. La nivel de distribuție, starea la 30 octombrie era următoarea:

  • Debian: pachete corectate disponibile pentru stable (bookworm, kernel 6.1.x) și oldstable (bullseye, 5.10.x) prin unattended-upgrades sau apt upgrade linux-image-<flavor>.
  • Oracle Linux: UEK (Unbreakable Enterprise Kernel) 6.1.x și 5.15.x au primit errata; verificați yum update kernel-uek.
  • SUSE: SLES 15 SP5/SP6 și openSUSE Leap/Tumbleweed au pachete în repositoarele de securitate; zypper patch le instalează.
  • Amazon Linux: AL2 (kernel 5.10/5.15) și AL2023 (6.1/6.6) au actualizări prin dnf update kernel.
  • Ubuntu: la data de 30 octombrie, canonicele pentru noble (24.04, 6.8), jammy (22.04, 5.15/6.x) și focal (20.04, 5.15) nu aveau pachete publicate; urmăriți ubuntu-security-announce și apt update && apt install linux-image-generic zodint.
  • Red Hat Enterprise Linux: RHEL 8 (4.18), 9 (5.14) și 10 (6.x) nu aveau RHSA emise; abonați-vă la rhsa-announce și pregătiți dnf update kernel imediat la apariție.

Pentru kernel-uri compilate custom (frecvent în medii HPC, trading, sau appliance-uri de rețea), aplicați patch-ul backportat corespunzător ramurii voastre și recompilați cu make -j$(nproc) && make modules_install install.

Verificare Practică: Cum Confirmați Expunerea și Aplicația Fix-ului

Înainte de reboot, verificați dacă serverul expune listeneri MPTCP și dacă kernelul curent este vulnerabil:

# 1. Verificați versiunea kernel-ului curent
uname -r

# 2. Listați socket-uri MPTCP în ascultare (necesită ss nouă, iproute2 >= 5.19)
ss -l -n -p -e | grep -i mptcp
# sau, pentru kernel-uri mai vechi fără suport ss MPTCP:
cat /proc/net/mptcp 2>/dev/null && echo "MPTCP activ în kernel" || echo "MPTCP nu e compilat/activat"

# 3. Verificați dacă sysctl-ul MPTCP e pornit (poate forța fallback-ul aplicațiilor)
sysctl net.mptcp.enabled
# Valoare 1 = activ; 0 = dezactivat (default pe majoritatea distribuțiilor)

# 4. Verificați prezența patch-ului în kernelul instalat (exemplu pentru 6.1.x)
grep -q "RCU grace period" /lib/modules/$(uname -r)/build/include/net/inet_connection_sock.h 2>/dev/null && echo "Patch RCU probabil prezent" || echo "Verificare manuală necesară"

# 5. Dacă folosiți eBPF sock_ops care forcează MPTCP, inspecționați programele încărcate
bpftool prog list | grep -i sock_ops

După actualizare și reboot, repetați verificările și confirmați că uname -r reflectă versiunea patch-uită din lista de mai sus. Pentru servere critice unde reboot-ul nu e posibil imediat, evaluați mitigarea temporară: sysctl -w net.mptcp.enabled=0 (oprează listenerii MPTCP noi, dar nu termină conexiunile existente) și restricționați accesul la porturile expuse prin firewall (nftables/iptables) la surse de încredere.

Pași Practici Imediati

  1. Inventariază toate instanțele Linux (bare-metal, VM, containere) și notați versiunea kernel-ului (uname -r) și distribuția.
  2. Clasificați sistemele după expunere: servere cu listeneri MPTCP pe interfețe publice = prioritate maximă; restul = prioritate ridicată (bug-ul există în codul IPv4 generic).
  3. Aplicați pachetele de securitate ale distribuției sau recompilați kernelul custom cu backport-ul RCU.
  4. Dezactivați MPTCP temporar (sysctl -w net.mptcp.enabled=0) pe sistemele care nu-l necesită, până la reboot.
  5. Restrângeți firewall-ul la porturile TCP expuse (80, 443, porturi aplicații) la CIDR-uri de administrare și monitoring.
  6. Programați reboot-urile în fereastră de mentenanță și validați post-reboot cu checklist-ul de verificare de mai sus.
  7. Documentați acțiunile în sistemul de change management și actualizați registrul de vulnerabilități (CMDB, Jira, GitOps repo).

Concluzie

CVE-2026-98432 este un avertisment puternic: modelele AI avansate pot descoperi și înlănțui vulnerabilități complexe în software-ul critic de infrastructură, reducând timpul de la descoperire la exploit funcțional la minute. Deși vectorul de atac cere un listener MPTCP expus, bug-ul subiacent este în calea de cod IPv4 generic, afectând o gamă largă de kernel-uri LTS și curente. Pentru echipele de operare, prioritatea este patching-ul rapid al kernel-urilor vulnerabile, eliminarea expunerii MPTCP nejustificate și monitorizarea continuă a anunțurilor de securitate ale distribuțiilor — în special Ubuntu și RHEL, care la momentul scrierii nu aveau fix-uri publice. Infrastructura robustă nu înseamnă doar uptime, ci și viteză de reagere la clasele noi de amenințări demonstrate de cercetarea AI. Rămâneți informați, patch-uți repede și testați întotdeauna în staging înainte de producție.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *