Anthropic ir atklÄjis kritisku ievainojamÄ«bu (CVE-2026-98432) kodola TCP kaudzÄ. Linux, kas ļauj attÄlinÄti izpildÄ«t kodu, nosÅ«tot speciÄli izstrÄdÄtas paketes. Ir ziÅots par funkcionÄjoÅ”u ievainojamÄ«bu, kas ļauj izpildÄ«t kodu kodola lÄ«menÄ« un attÄlinÄti iegÅ«t root privilÄÄ£ijas sistÄmÄ. Å Ä« ievainojamÄ«ba ir piemÄrota uzbrukumiem sistÄmÄm ar servera procesiem, kas pieÅem savienojumus, izmantojot tÄ«kla ligzdas, kas atbalsta Multipath TCP (MPTCP) protokolu. MPTCP atbalstu var iespÄjot katrai tÄ«kla ligzdai atseviŔķi, kas ir Go standarta bibliotÄkas noklusÄjuma iestatÄ«jums, sÄkot ar Go 1.24 (2025. gada februÄris).
Sagatavoto izmantoto ievainojamÄ«bu var izmantot ar jebkuru servera lietojumprogrammu, kas rakstÄ«ta Go valodÄ, tostarp Caddy HTTP serveri, ja vien tÄ var nosÅ«tÄ«t tÄ«kla paketes uz izveidoto klausīŔanÄs ligzdu. TÄ kÄ ievainojamÄ«ba atrodas tieÅ”i IPv4 kaudzÄ un nav raksturÄ«ga tikai MPTCP, ir iespÄjams izveidot izmantotos ievainojamÄ«bas avotus, kas darbojas, nepaļaujoties uz MPTCP, taÄu Å”Ädi izmantotÄji vÄl nav demonstrÄti. PiemÄram, ievainojamÄ«bu ir iespÄjams izmantot, apstrÄdÄjot ligzdas migrÄcijas pieprasÄ«jumus, kas ir pieejams konfigurÄcijÄs ar parametru net.ipv4.tcp_migrate_req=1 vai izmantojot eBPF programmas ar opciju BPF_SK_REUSEPORT_SELECT_OR_MIGRATE.
Å o ievainojamÄ«bu izraisa sacensÄ«bas nosacÄ«jums, kas rodas atkÄrtoti pÄrsÅ«tÄ«tu SYN pieprasÄ«jumu vienlaicÄ«gas apstrÄdes laikÄ TCP savienojuma izveides laikÄ. TÄ kÄ funkcija tcp_v4_syn_recv_sock() nodod parametrus no ireq->ireq_opt struktÅ«ras uz bÄrnu ligzdu, izmantojot atsauci, nevis kopÄjot tos, noteiktos apstÄkļos rodas situÄcija, kad ligzdas parametrus saturoÅ”o inet_opt un ireq_opt struktÅ«ru atmiÅa jau ir atbrÄ«vota, bet saistÄ«tÄs ligzdas opcijas turpina tikt izmantotas (use-after-free).
AttÄlÄ izmantoÅ”ana tiek panÄkta, nosÅ«tot virkni laika sinhronizÄtu tÄ«kla pieprasÄ«jumu. IzmantoÅ”ana veiksmÄ«gi attiecas uz kodoliem, kas izmanto adreÅ”u nejauÅ”inÄÅ”anu (KASLR), taÄu sacensÄ«bu nosacÄ«juma loga sasniegÅ”ana aizÅem ievÄrojamu laiku un prasa lielu skaitu atkÄrtotu mÄÄ£inÄjumu. IzmantoÅ”anu vienkÄrÅ”o fakts, ka sacensÄ«bu nosacÄ«juma loga neievÄroÅ”ana izraisa tikai saziÅas pÄrtraukÅ”anu, nevis kodola avÄriju, kas ļauj veikt neierobežotu mÄÄ£inÄjumu skaitu. IzmantoÅ”anas prototipÄ uzbrukums aizÅÄma aptuveni stundu ā 48 minÅ«tes, lai noteiktu atmiÅas izkÄrtojumu, un vÄl 5 minÅ«tes, lai organizÄtu koda izpildi.
PagaidÄm nav pieejami risinÄjumi, kas garantÄtu ievainojamÄ«bas novÄrÅ”anu ā vienÄ«gÄ uzticamÄ iespÄja ir kodola atjauninÄjuma instalÄÅ”ana. ProblÄma sÄkas ar kodolu. Linux 4.4 un izlabotas laidienos 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.56, 7.2.10 un 7.3. IevainojamÄ«bu labojumu statusu izplatÄ«jumos var novÄrtÄt Å”ajÄs lapÄs: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch,
Fedora.
Ieteikumi, kÄ novÄrst konkrÄtas ekspluatÄcijas metodes, kas kopumÄ nebloÄ·Ä ievainojamÄ«bu, ietver MPTCP atbalsta atspÄjoÅ”anu un kodola sysctl parametra net.ipv4.tcp_migrate_req iestatīŔanu uz 0:
sysctl -w net.mptcp.enabled=0
sysctl -w net.ipv4.tcp_migrate_req=0
Lai noteiktu, vai sistÄmÄ ir procesi, kas izmanto ligzdas ar
MPTCP, varat izmantot komandas:
ip mptcp galapunkta rÄdīŔana
IP mptcp ierobežojumi tiek rÄdÄ«ti
Lai atspÄjotu MPTCP atbalstu Go programmÄs, izmantojiet karodziÅu "multipathtcp=0", ko var iestatÄ«t, iestatot vides mainÄ«go "GODEBUG=multipathtcp=0". Lai atspÄjotu MPTCP atbalstu bÅ«vÄÅ”anas laikÄ, pievienojiet "godebug multipathtcp=0" failam go.mod. Lietojumprogrammas kodÄ varat atspÄjot MPTCP, izmantojot funkcijas net.Dialer.SetMultipathTCP un net.ListenConfig.SetMultipathTCP.
Papildus apspriestajai problÄmai Anthropic paziÅoja arÄ« par virkni lokÄli izmantojamu kodola ievainojamÄ«bu. Linux, OpenBSD un FreeBSD, kas ļauj root piekļūt sistÄmai un izkļūt no izolÄtiem konteineriem; Chrome un Safari ievainojamÄ«bas, kas izraisa koda izpildi sistÄmÄ, atverot speciÄli izstrÄdÄtas tÄ«mekļa lapas; kodola ievainojamÄ«ba Windows, kas noved pie avÄrijas; platformas ievainojamÄ«ba Android, kas ļauj apiet ekrÄna bloÄ·ÄÅ”anu un piekļūt personiskajai informÄcijai un fotoattÄliem, neatbloÄ·Äjot ierÄ«ci (uzbrukums tika demonstrÄts Google Pixel 9 viedtÄlrunÄ«).
PapildinÄjums:
- Nginx vidÄ iespÄja iespÄjot IPPROTO_MPTCP opciju klausīŔanÄs tÄ«kla ligzdai ir pieejama kopÅ” 1.29.7 versijas, taÄu pÄc noklusÄjuma tÄ netiek izmantota.
- Lighttpd versijÄ MPTCP iespÄjoÅ”anas opcija ir pieejama kopÅ” 1.4.76 versijas.
- Apache httpd vidÄ 2024. gadÄ Apache httpd 2.5-HEAD atzaram tika pievienoti ielÄpi MPTCP atbalstam.
- Systemd versijÄ 257 tika pievienots atbalsts MPTCP iespÄjoÅ”anai, ja tas tiek aktivizÄts, izmantojot ligzdu.
- Apache Traffic Server MPTCP iespÄjoÅ”anas opcija tiek atbalstÄ«ta kopÅ” 9.2.4. versijas.
- SÄkot ar HAProxy versiju 3.1.0, ir pieejama opcija "mptcp{,4,6}@". ".
- Traefik vidÄ IPPROTO_MPTCP karodziÅa iestatīŔana pÄc noklusÄjuma ir iespÄjota kopÅ” 2.11.26, 3.4.2 un v3.5.0-rc1 versijÄm.
- Valkey DBMS, sÄkot ar versiju 9.0.0, ir pieejama opcija "--mptcp" un iestatÄ«jumi "mptcp yes" un "repl-mptcp yes".
Avots: opennet.ru
