Anthropic het 'n kritieke kwesbaarheid (CVE-2026-98432) in die kern se TCP-stapel bekend gemaak. Linux, wat afstandskode-uitvoering moontlik maak deur spesiaal vervaardigde pakkette te stuur. 'n Werkende aanval is aangemeld, wat kode-uitvoering op kernvlak moontlik maak en op afstand wortelregte op die stelsel verkry. Die aanval is geskik vir die aanval van stelsels met bedienerprosesse wat verbindings aanvaar via netwerk-sockets wat die Multipath TCP (MPTCP) protokol ondersteun. MPTCP-ondersteuning kan op 'n per-netwerk-socket basis geaktiveer word, wat die verstek in die Go-standaardbiblioteek is, beginnende met Go 1.24 (Februarie 2025).
Die voorbereide aanval kan met enige bedienertoepassing wat in Go geskryf is, gebruik word, insluitend die Caddy HTTP-bediener, solank dit netwerkpakkette na die luister-sok wat dit skep, kan stuur. Aangesien die kwesbaarheid direk in die IPv4-stapel teenwoordig is en nie spesifiek tot MPTCP is nie, is dit moontlik om aanvalle te skep wat werk sonder om op MPTCP staat te maak, maar sulke aanvalle is nog nie gedemonstreer nie. Dit is byvoorbeeld moontlik om die kwesbaarheid te benut wanneer sokmigrasieversoeke verwerk word, wat beskikbaar is in konfigurasies met die net.ipv4.tcp_migrate_req=1-parameter of wanneer eBPF-programme met die BPF_SK_REUSEPORT_SELECT_OR_MIGRATE-opsie gebruik word.
Die kwesbaarheid word veroorsaak deur 'n wedlooptoestand wat voorkom tydens die gelyktydige verwerking van heruitgestuurde SYN-versoeke tydens die vestiging van 'n TCP-verbinding. Aangesien die tcp_v4_syn_recv_sock()-funksie parameters van die ireq->ireq_opt-struktuur na die kind-socket deurgee via 'n verwysing eerder as om dit te kopieer, ontstaan daar onder sekere omstandighede 'n situasie waar die geheue vir die inet_opt- en ireq_opt-strukture wat die sokparameters bevat, reeds vrygestel is, maar die geassosieerde sokopsies steeds gebruik word (gebruik-na-vrystelling).
Afstandsuitbuiting word bewerkstellig deur 'n reeks tydgesinchroniseerde netwerkversoeke te stuur. Die uitbuiting word suksesvol toegepas op kerns wat adresrandomisering (KASLR) gebruik, maar om die rentoestandvenster te bereik, neem 'n aansienlike hoeveelheid tyd en vereis 'n groot aantal herpogings. Uitbuiting word vereenvoudig deur die feit dat die mis van die rentoestandvenster slegs 'n handskud tot gevolg het, eerder as 'n kernineenstorting, wat onbepaalde pogings moontlik maak. In die uitbuitingsprototipe het die aanval ongeveer 'n uur geneem—48 minute om die geheue-uitleg te bepaal en nog 5 minute om kode-uitvoering te organiseer.
Daar is nog geen oplossings beskikbaar wat 'n oplossing vir die kwesbaarheid waarborg nie—die installering van 'n kernopdatering is die enigste betroubare opsie. Die probleem begin met die kern. Linux 4.4 en reggestel in vrystellings 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.56, 7.2.10 en 7.3. Die status van kwesbaarheidsregstellings in verspreidings kan op hierdie bladsye beoordeel word: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch,
Fedora.
Aanbevelings vir die teenwerking van spesifieke uitbuitingsmetodes wat nie die kwesbaarheid in die algemeen blokkeer nie, sluit in die deaktivering van MPTCP-ondersteuning en die instelling van die kern sysctl-parameter net.ipv4.tcp_migrate_req op 0:
sysctl -w net.mptcp.enabled=0
sysctl -w net.ipv4.tcp_migrate_req=0
Om te bepaal of daar prosesse in die stelsel is wat sokkies gebruik met
MPTCP, jy kan die volgende opdragte gebruik:
ip mptcp eindpunt wys
ip mptcp limiete wys
Om MPTCP-ondersteuning in Go-programme te deaktiveer, gebruik die "multipathtcp=0"-vlag, wat ingestel kan word deur die omgewingveranderlike "GODEBUG=multipathtcp=0" te stel. Om MPTCP-ondersteuning tydens bou te deaktiveer, voeg "godebug multipathtcp=0" by die go.mod-lêer. In jou toepassingskode kan jy MPTCP deaktiveer deur die net.Dialer.SetMultipathTCP- en net.ListenConfig.SetMultipathTCP-funksies te gebruik.
Benewens die bespreekte kwessie, het Anthropic ook 'n reeks plaaslik ontginbare kwesbaarhede in die kern aangekondig. Linux, OpenBSD en FreeBSD wat worteltoegang tot die stelsel toelaat en ontsnapping uit geïsoleerde houers; kwesbaarhede in Chrome en Safari wat lei tot kode-uitvoering op die stelsel wanneer spesiaal ontwerpte webblaaie oopgemaak word; 'n kwesbaarheid in die kern Windows, wat lei tot 'n ongeluk; platformkwesbaarheid Android, wat jou toelaat om die skermslot te omseil en toegang tot persoonlike inligting en foto's te verkry sonder om die toestel te ontsluit (die aanval is op 'n Google Pixel 9-slimfoon gedemonstreer).
vul:
- In nginx is die vermoë om die IPPROTO_MPTCP-opsie vir 'n luisterende netwerk-sok te aktiveer sedert weergawe 1.29.7 teenwoordig, maar word nie standaard gebruik nie.
- In Lighttpd is die opsie om MPTCP te aktiveer beskikbaar sedert weergawe 1.4.76.
- In Apache httpd is in 2024 kolle by die Apache httpd 2.5-HEAD-tak gevoeg om MPTCP te ondersteun.
- In systemd is ondersteuning vir die aktivering van MPTCP wanneer dit oor 'n sok geaktiveer word, in weergawe 257 bygevoeg.
- In Apache Traffic Server word die opsie om MPTCP te aktiveer sedert weergawe 9.2.4 ondersteun.
- In HAProxy, vanaf weergawe 3.1.0, is die opsie "mptcp{,4,6}@" beskikbaar. ".
- In Traefik is die instelling van die IPPROTO_MPTCP-vlag standaard geaktiveer sedert vrystellings 2.11.26, 3.4.2 en v3.5.0-rc1.
- In die Valkey DBMS, vanaf weergawe 9.0.0, is die opsie "--mptcp" en die instellings "mptcp yes" en "repl-mptcp yes" beskikbaar.
Bron: opennet.ru
