Anthropic on paljastanut kriittisen haavoittuvuuden (CVE-2026-98432) ytimen TCP-pinossa. Linux, joka sallii koodin etäsuorittamisen lähettämällä erityisesti muotoiltuja paketteja. Toimivasta hyökkäyshaavoittuvuudesta on raportoitu, joka sallii koodin suorittamisen kernel-tasolla ja pääkäyttäjän oikeuksien saamisen järjestelmään etänä. Hyökkäyshaavoittuvuus soveltuu sellaisten järjestelmien hyökkäämiseen, joiden palvelinprosessit hyväksyvät yhteyksiä Multipath TCP (MPTCP) -protokollaa tukevien verkkosokettien kautta. MPTCP-tuki voidaan ottaa käyttöön verkkosokettien mukaan, mikä on oletusarvo Go-standardikirjastossa Go 1.24:stä (helmikuu 2025) alkaen.
Valmisteltua hyökkäysprosessia voidaan käyttää minkä tahansa Go-kielellä kirjoitetun palvelinsovelluksen, mukaan lukien Caddy HTTP -palvelimen, kanssa, kunhan se pystyy lähettämään verkkopaketteja luomaansa kuuntelusokettiin. Koska haavoittuvuus sijaitsee suoraan IPv4-pinossa eikä ole MPTCP-spesifinen, on mahdollista luoda hyökkäyksiä, jotka toimivat ilman MPTCP:tä, mutta tällaisia hyökkäyksiä ei ole vielä osoitettu. Esimerkiksi haavoittuvuutta voidaan hyödyntää soketin migraatiopyyntöjä käsiteltäessä, mikä on mahdollista kokoonpanoissa, joissa on net.ipv4.tcp_migrate_req=1-parametri, tai käytettäessä eBPF-ohjelmia BPF_SK_REUSEPORT_SELECT_OR_MIGRATE-asetuksella.
Haavoittuvuuden aiheuttaa kilpailutilanne, joka ilmenee uudelleenlähetettyjen SYN-pyyntöjen samanaikaisen käsittelyn aikana TCP-yhteyden muodostuksen aikana. Koska tcp_v4_syn_recv_sock()-funktio välittää parametrit ireq->ireq_opt-rakenteesta lapsisocketille viittauksen kautta kopioinnin sijaan, tietyissä olosuhteissa syntyy tilanne, jossa soketin parametrit sisältävien inet_opt- ja ireq_opt-rakenteiden muisti on jo vapautettu, mutta niihin liittyvät soketin asetukset ovat edelleen käytössä (use-after-free).
Etähyödyntäminen tapahtuu lähettämällä sarja ajassa synkronoituja verkkopyyntöjä. Hyökkäys toimii onnistuneesti ytimissä, jotka käyttävät osoitteiden satunnaistamista (KASLR), mutta kilpailuikkunan saavuttaminen vie huomattavasti aikaa ja vaatii suuren määrän uudelleenyrityksiä. Hyökkäystä yksinkertaistaa se, että kilpailuikkunan ohittaminen johtaa vain kättelyyn eikä ytimen kaatumiseen, mikä mahdollistaa loputtoman määrän yrityksiä. Hyökkäysprototyypissä hyökkäys kesti noin tunnin – 48 minuuttia muistin asettelun määrittämiseen ja toiset 5 minuuttia koodin suorittamisen järjestämiseen.
Haavoittuvuuden korjaamista takaavia kiertoteitä ei ole vielä saatavilla – ainoa luotettava vaihtoehto on ytimen päivityksen asentaminen. Ongelma ilmenee alkaen ytimestä. Linux 4.4 ja korjattu julkaisuissa 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.56, 7.2.10 ja 7.3. Haavoittuvuuksien korjausten tilaa jakeluissa voi arvioida näillä sivuilla: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch,
Fedora.
Yleisesti ottaen haavoittuvuutta estämättömien hyväksikäyttömenetelmien torjumiseksi suositellaan MPTCP-tuen poistamista käytöstä ja ytimen sysctl-parametrin net.ipv4.tcp_migrate_req asettamista arvoon 0:
sysctl -w net.mptcp.enabled=0
sysctl -w net.ipv4.tcp_migrate_req=0
Jotta voidaan selvittää, onko järjestelmässä prosesseja, jotka käyttävät soketteja, joissa on
MPTCP:n kanssa voit käyttää komentoja:
ip mptcp päätepisteen näyttö
IP mptcp -rajoitukset näkyvät
Voit poistaa MPTCP-tuen käytöstä Go-ohjelmissa käyttämällä lippua "multipathtcp=0", joka voidaan asettaa asettamalla ympäristömuuttujan "GODEBUG=multipathtcp=0". Voit poistaa MPTCP-tuen käytöstä käännösvaiheessa lisäämällä "godebug multipathtcp=0" go.mod-tiedostoon. Voit poistaa MPTCP:n käytöstä sovelluskoodissasi käyttämällä net.Dialer.SetMultipathTCP- ja net.ListenConfig.SetMultipathTCP-funktioita.
Käsitellyn ongelman lisäksi Anthropic ilmoitti myös useista paikallisesti hyödynnettävistä ytimen haavoittuvuuksista. Linux, OpenBSD:tä ja FreeBSD:tä, jotka mahdollistavat pääkäyttäjän oikeudet järjestelmään ja pääsyn erillisistä säilöistä; Chromen ja Safarin haavoittuvuudet, jotka johtavat koodin suorittamiseen järjestelmässä avattaessa erityisesti suunniteltuja verkkosivuja; haavoittuvuus ytimessä Windows, mikä johtaa kaatumiseen; alustan haavoittuvuus Android, jonka avulla voit ohittaa näytön lukituksen ja käyttää henkilökohtaisia tietoja ja valokuvia avaamatta laitetta (hyökkäys esiteltiin Google Pixel 9 -älypuhelimella).
täydentämään
- Nginxissä mahdollisuus ottaa IPPROTO_MPTCP-asetus käyttöön kuuntelevalle verkkosocketille on ollut versiosta 1.29.7 lähtien, mutta sitä ei käytetä oletusarvoisesti.
- Lighttpd:ssä MPTCP:n käyttöönottovaihtoehto on ollut käytettävissä versiosta 1.4.76 lähtien.
- Apache httpd:ssä MPTCP:tä tukevat korjaustiedostot lisättiin Apache httpd 2.5-HEAD -haaraan vuonna 2024.
- Systemd:ssä lisättiin versioon 257 tuki MPTCP:n käyttöönotolle, kun se aktivoidaan soketin kautta.
- Apache Traffic Serverissä MPTCP:n käyttöönottovaihtoehtoa on tuettu versiosta 9.2.4 lähtien.
- HAProxyssa versiosta 3.1.0 alkaen on käytettävissä asetus "mptcp{,4,6}@". ".
- Traefikissä IPPROTO_MPTCP-lipun asettaminen on ollut oletusarvoisesti käytössä versioista 2.11.26, 3.4.2 ja v3.5.0-rc1 lähtien.
- Valkey-tietokannan hallintajärjestelmässä versiosta 9.0.0 alkaen on käytettävissä vaihtoehto "--mptcp" sekä asetukset "mptcp yes" ja "repl-mptcp yes".
Lähde: opennet.ru
