„Copy Fail“ – „Linux“ pažeidžiamumas, keliantis pavojų serveriams, debesijos kompiuterijai ir konteineriams

  • Kopijavimo klaida (CVE-2026-31431) leidžia neprivilegijuotam vietiniam vartotojui gauti root teises daugumoje šiuolaikinių „Linux“ distribucijų.
  • Trūkumas slypi branduolio kriptografinėje posistemėje (AF_ALG, algif_aead, authencesn) ir sugadina puslapio talpyklą nekeisdamas diske esančių failų.
  • Daugiavartotojų aplinkos, viešieji debesys, „Kubernetes“, CI/CD ir bendri serveriai Europoje yra ypač pažeidžiami, kol nebus įdiegti pataisymai.
  • Švelninimas apima branduolio atnaujinimą, algif_aead/AF_ALG išjungimą, kur įmanoma, ir stebėjimo sustiprinimą, siekiant nustatyti bandymus išnaudoti spragas.

„Copy Fail Linux“ pažeidžiamumas

Šveicarijos bendruomenė Nemokama programinė įranga ir „Linux“ sistemų administratoriai Šiuo metu „Linux“ susiduria su problema, kuri gerokai viršija paprastą laukiantį atnaujinimą. „Copy Fail“, užregistruotas kaip CVE-2026-31431, atskleidė „Linux“ branduolio pažeidžiamumą, kuris daugelį metų buvo nepastebėtas ir leidžia bet kuriam vietiniam vartotojui be teisių įgyti visišką kompiuterio valdymą.

Poveikis gerokai viršija bandymų laboratoriją: serveriai Europos duomenų centruose, Kubernetes klasteriaiDėmesio centre atsidūrė CI/CD platformos ir debesijos paslaugos, kuriose veikia trečiųjų šalių kodas. Nors ši pažeidžiamumas tiesiogiai neatveria užpakalinių durų iš interneto, beveik bet kokį nedidelį vietinį įsilaužimą jis paverčia labai patikimu ir sunkiai atsekamu privilegijų eskalavimu iki root vartotojo.

Kas yra kopijavimo klaida (CVE-2026-31431) ir kodėl ji kelia tokį susirūpinimą?

„Linux“ saugumo spraga „Copy Fail“

Kopijavimo nesėkmė yra vietinių privilegijų eskalavimo pažeidžiamumas (LPE) „Linux“ branduolyje. Praktiškai tai leidžia vartotojui, turinčiam įprastą paskyrą, procesą konteineryje arba CI užduotį be administratoriaus teisių, vykdyti kodą kaip root pažeidžiamose sistemose.

Problema identifikuojama kaip CVE-2026-31431 ir paveikia branduolio kriptografinė posistemėTiksliau, užpuolikas taikosi į AF_ALG sąsają ir algif_aead modulį kartu su kriptografiniu šablonu authencesn. Šis derinys leidžia užpuolikui įrašyti 4 baitus kontroliuojamų duomenų į sistemos puslapio talpyklą.

Stebina tai, koks kompaktiškas yra šis spragų išnaudojimas. Įvairūs tyrėjai, įskaitant „Xint Code“ ir „Theori“, paskelbė koncepcijos įrodymus, kad... keli šimtai baitų Python kalboje kurie stabiliai veikia įprastoje aplinkoje, nereikalaujant egzotiškų lenktynių sąlygų ar sudėtingų konfigūracijų.

Europoje, kur „Linux“ yra visur bankuose, operatoriuose ir vyriausybinėse agentūrose. O debesijos paslaugų teikėjams tai, kad toks mažas ir patikimas atakos objektas veikia prieš kelias platinimo sistemas, padidina riziką iki tokio lygio, kad reikia greitai reaguoti.

Gedimo priežastis: 2017 m. atliktas optimizavimas, kuris pasirodė esąs brangus

„Linux“ branduolio ir kopijavimo klaidų pažeidžiamumas

Techninė „Copy Fail“ esmė slypi 2017 m. „Linux“ branduolyje atliktame pakeitime, kai buvo siekiama pagreitinti algif_aead kriptografinio modulio našumąŠi optimizacija, skirta atlikti operacijas „vietoje“ ir išvengti nereikalingų atminties kopijų, netyčia atvėrė kelią puslapio talpyklos sugadinimui.

Paveiktas kodas remiasi šablonu autentifikavimas (HMAC-SHA256 + AES-CBC)Užuot naudojęs tik išvesties erdvę užšifruotam arba iššifruotam rezultatui įrašyti, algoritmas dalį šio buferio naudoja kaip laikiną darbo sritį. Problema kyla, kai šių operacijų metu keturi baitai įrašomi už numatytų ribų.

Kartu su sistemos iškvietimu sandūra ()Kadangi tai tiesiogiai susieja branduolio talpyklos puslapius su vartotojo erdvės failų deskriptoriais, šis įrašymas už diapazono ribų paveikia talpyklos puslapį, kuriame yra sistemos failas. Jei užpuolikui pavyksta padaryti, kad tas puslapis atitiktų dvejetainį failą su setuid bitu, pvz., /usr/bin/su arba sudo Linux sistemoje, atveria duris manipuliuoti kodu, kuris bus paleistas kaip root.

Oficialus pataisymas, kuris ištaiso pažeidžiamumą, panaikina būtent tą problemišką optimizavimą, vėl atskirdamas šaltinio ir paskirties atminties sritis. Stabiliose branduolio šakose šis pakeitimas susijęs su tokiais pakeitimais kaip a664bf3d603d, kurie jau integruojami į ilgalaikėje perspektyvoje prižiūrimas versijas.

Penkios pagrindinės detalės apie tai, kaip veikia išnaudojimas

Kopijavimo klaidos išnaudojimas Linux sistemose

„Xint“ / „Theori“ ir kitų saugumo firmų paskelbtose analizėse aprašomas gana paprastas atakos mechanizmas. Supaprastintai tariant, procesas paprastai vyksta pagal šiuos veiksmus, pasitelkiant branduolio sąsajos, kurios yra aktyvios pagal numatytuosius nustatymus daugumoje paskirstymų:

  • Užpuolikas atidaro lizdas AF_ALG ir pasirenka pažeidžiamą AEAD režimą branduolio kriptografinėje posistemėje.
  • Per sandūra (), susieja puslapius iš skaitomo failo (pvz., /usr/bin/su) talpyklos su paskirties buferiu, kurį branduolys naudos kriptografinei operacijai.
  • „authencesn“ algoritmas apdoroja duomenis ir dėl loginės klaidos įrašo 4 baitai už ribų planuojamo išvesties buferio.
  • Tie 4 baitai patenka į talpyklos puslapį, kuriame yra dvejetainis kodas su setuid, o jo turinį užpuolikas kontroliuoja per operacijos parametrus ir AAD.
  • Kartojant ciklą kelis kartus, galima modifikuoti pagrindines instrukcijas iš dvejetainio failo atmintyje arba įterpti nedideles apvalkalinio kodo dalis. Kai programa vykdoma, gaunamas apvalkalas su root teisėmis.

Didžiausias puolėjo pranašumas yra tas, kad visa tai vyksta branduolio puslapio talpyklaDiske esantis failas nėra pakeistas, todėl įprastiniai patikrinimai, pagrįsti maišos kodais, parašais ar failų vientisumo įrankiais, rodo, kad viskas atrodo teisinga.

Kadangi puslapis nėra pažymėtas kaip „nešvarus“, branduolys neturi priežasties įrašyti pakeitimų atgal į diską. Jei sistema perkraunama arba talpykla tampa negaliojanti dėl atminties trūkumo, pakeitimas dingsta be pėdsakų, o tai labai apsunkina bet kokią vėlesnę teismo ekspertizę.

Kurios „Linux“ sistemos yra paveiktos ir koks yra rizikos lygis?

Visos analizės sutaria, kad taikymo sritis yra plati. Pažeidžiamumas daro įtaką branduoliai, kuriuose yra 2017 m. optimizavimas ir išlaikyti AF_ALG ir algif_aead palaikymą. Praktiškai tai apima daugumą branduolio versijų nuo 4.14 iki naujesnių, kol kiekvienas platinimas integruoja atitinkamą pataisą.

Aiškiai paminėtos paveiktos platformos „Ubuntu“, „Debian“, „Red Hat Enterprise Linux“ (RHEL), „SUSE“, „Amazon Linux“ ir kai kurios WSL2 versijos, kurios įgalina AF_ALG. Keletas tyrėjų sėkmingai išbandė šį pažeidžiamumą reprezentatyviose gamybinėse aplinkose, patvirtindami jo gyvybingumą realiame pasaulyje.

Europos atveju tai daro tiesioginį poveikį kritinė infrastruktūra ir viešosios paslaugos kur „Linux“ yra faktinis standartas: nuo vyriausybinių agentūrų ir universitetų iki bankų, operatorių ir didelių prieglobos paslaugų teikėjų, siūlančių bendrus serverius arba kelių vartotojų VPS.

Sunkumo klasifikacija svyruoja apie vertes didelė rizika pagal CVSS skalę (apie 7,8/10)Nors tai nėra pažeidžiamumas, kuriuo galima pasinaudoti nuotoliniu būdu, jo paprastumo, stabilumo ir gebėjimo nutraukti izoliaciją tarp vartotojų ir konteinerių derinys prilygsta tokiems pažeidžiamumams kaip „Dirty Pipe“ ar „Dirty COW“.

Pačios distribucijos skelbia saugumo įspėjimus. Pavyzdžiui, „Ubuntu“ žymi CVE kaip Aukštas prioritetas kelioms LTS šakoms ir išsamiai nurodo, kurie paketai vis dar yra „laukiami pataisymo“, o tokie tiekėjai kaip „Amazon Linux“ nurodo konkrečias branduolio versijas 5.4, 5.10, 5.15, 6.12 arba 6.18, laukiančias atnaujinimo.

Poveikis serveriams, konteineriams ir debesijos aplinkoms

Blogiausią savo pusę parodo „Copy Fail“ kelių nuomininkų scenarijaiTai yra, tie, kuriuose keli vartotojai arba klientai dalijasi tuo pačiu fiziniu kompiuteriu arba tuo pačiu branduoliu: bendri serveriai, „Kubernetes“ klasteriai, CI/CD vykdytojai arba debesijos paslaugos, kuriose vykdomas kliento kodas.

Pavyzdžiui, Europos prieglobos paslaugų teikėjo svetainėje klientas, turintis paprastą vartotojo paskyrą bendrame serveryje, galėtų išnaudoti bet kokią nedidelę savo žiniatinklio programos pažeidžiamumą, kad vykdytų vietinį kodą, o tada panaudotų „CopyFail“, kad pažeistų visą prieglobą. Nuo to momento visų kitų serverio klientų duomenys ir paslaugos taptų pažeidžiami.

Panaši situacija yra ir nuolatinės integracijos ir nuolatinio diegimo (CI/CD) platformos kurie kompiliuoja ir testuoja kodą iš kelių projektų bendrai naudojamuose kompiuteriuose. Iš pažiūros nekaltas darbas vykdiklio viduje galėtų pasinaudoti spragomis ir gauti root teises, suteikiančias prieigą prie likusių aplinkoje saugomų darbų ir prisijungimo duomenų.

Tuo atveju, kai Kubernetes ir kiti konteinerių organizatoriaiProblema ta, kad visi mazgo ankštys dalijasi ta pačia pagrindinio kompiuterio branduolio puslapio talpykla. Vartotojas konteineryje, galintis paleisti koncepcijos įrodymą, galėtų ištrūkti iš izoliuotos aplinkos, perimti mazgo valdymą ir iš ten judėti horizontaliai po klasterį.

Tokie scenarijai labai dažni Europos duomenų centruose, regioniniuose debesijos paslaugų teikėjuose ir didelėse įmonėse, kurios savo darbo krūviams pritaikė „Kubernetes“. Daugeliui jų CVE-2026-31431 sukėlė klaidą. savaitgaliai su pataisymais, kava ir suplanuotais perkrovimais kad kuo greičiau panaikintų spragą.

„Copy Fail“ ir ankstesnių „Linux“ branduolio pažeidžiamumų palyginimas

„Copy Fail“ buvo lyginama su kitomis garsiomis branduolio klaidomis, tokiomis kaip Nešvari karvė arba nešvarus vamzdiskuris taip pat žaidė su puslapio talpykla ir įvesties/išvesties operacijomis, kad pakeistų failus, kuriuos teoriškai buvo galima tik skaityti.

Pagrindinis skirtumas yra pažeista posistemė. Nors ankstesnės spragos išnaudojo rašymo kelius kanaluose arba failų kopijavimo mechanizmus, „Copy Fail“ remiasi... branduolio kriptografinis kelias, naudojant AF_ALG ir AEAD operacijas, kad būtų gautas 4 baitų įrašymo primityvas podėlėje.

Užpuoliko požiūriu, tai turi keletą privalumų: labai sumažėja reikalingo kodo kiekis, Tai nepriklauso nuo sudėtingų rasių ir naudoja API, kurie paprastai yra aktyvūs pagal numatytuosius nustatymus, nes daugelis teisėtų programų jais naudojasi šifravimui ir autentifikavimui.

Rezultatas – tylesnis ir mobilesnis spragų išnaudojimo būdas, kuris gana nuosekliai veikia skirtingose ​​architektūrose ir branduolio versijose paveiktame diapazone. Todėl, nors jis neleidžia neriboto savavališko rašymo, kaip kai kurios kitos klaidos, patikimumo ir nepastebimo veikimo derinys daro jį labai patraukliu įrankiu platesnėje atakų grandinėje.

Apsaugos komandoms tai sustiprina jau besivystančią idėją: našumo optimizavimas branduolyje Jie gali sukelti rimtų pažeidžiamumų, jei neatlieka išsamių saugumo auditų, o tai nėra nereikšminga tokiame dideliame ir nuolat kintančiame kode kaip „Linux“.

Dirbtinio intelekto vaidmuo atrandant kopijavimo klaidą

Vienas įdomiausių šios bylos aspektų yra tai, kaip buvo atrasta beveik dešimtmetį egzistavusi klaida. Tokios komandos kaip „Xint Code“ ir „Theori“ paaiškino, kad atradimas įvyko ne tik dėl žmonių kantrybės, bet ir dėl to, kad buvo naudojamasi... Dirbtinio intelekto padedami kodo analizės įrankiai.

Šie sprendimai atlieka masinį branduolio kodo nuskaitymą, ieškodami įtartinų šablonų, potencialiai pavojingų atminties prieigų ir funkcijų derinių, atitinkančių išmoktus rizikos modelius. Tokiose sudėtingose ​​posistemėse kaip kriptografija, kur optimizavimas, šablonai ir makrokomandos yra susipynusios, žmogaus akis gali lengvai nepastebėti subtilių sąveikų.

Kita vertus, dirbtinis intelektas padeda išryškinti kodo dalis, kurias verta atidžiau išnagrinėti. „Copy Fail“ atveju šis metodas leido aptikti loginę klaidą authencesn ir jo ryšį su 2017 m. optimizavimu bei „splice()“ naudojimu – tai, kas ankstesnėse apžvalgose nebuvo paminėta.

Daugeliui Europos organizacijų žinia yra dvejopa: viena vertus, net ir labiausiai kruopščiai audituota programinė įranga gali metų metus slėpti kritinius pažeidžiamumus; kita vertus, pažangių dirbtiniu intelektu pagrįstų analizės įrankių naudojimas tampa vis dažnesne problema. beveik būtinas reikalavimas siekiant sustiprinti ypatingos svarbos infrastruktūros saugumą.

Galimos švelninimo priemonės ir pataisymai

Pagrindinis sprendimas apima tą patį seną metodą, tačiau su tam tikru skubumu: atnaujinti „Linux“ branduolį į versiją, kurioje yra CVE-2026-31431 pataisa. Branduolio prižiūrėtojai ištaisė pažeidžiamumą tokiose šakose kaip 6.18.22, 6.19.12 ir branduolys 7.0ir įdiegiamos atgalinės versijos į ilgalaikės palaikymo versijas.

Plačiausiai paplitusios Europos distribucijos („Ubuntu“, „Debian“, „SUSE“, „RHEL“, „Amazon Linux“ ir išvestinės versijos) išleido savo pataisytus branduolius. Daugeliu atvejų pakeitimas yra susijęs su commit. a664bf3d603d arba atitikmenys, kurie ištaiso buferio apdorojimą algif_aead ir panaikina probleminį optimizavimą vietoje.

Kai nedelgiamas paleidimas iš naujo neįmanomas, rekomenduojamos kelios laikinos priemonės atakos paviršiui sumažinti. Viena iš tiesioginių priemonių yra išjungti algif_aead modulį naudojant modprobe taisykles, neleidžiant jam įkelti paleidimo metu ir iškraunant, jei jis jau aktyvus.

Didelės rizikos aplinkoje kai kurie ekspertai siūlo žengti dar vieną žingsnį ir blokuoti AF_ALG sąsają naudojant tokias saugumo politikas kaip „seccomp“, „AppArmor“ arba „SELinux“. Ši priemonė yra agresyvesnė, nes gali paveikti teisėtas programas, kurios naudoja AF_ALG kriptografinėms užduotims, todėl prieš diegiant ją gamybinėje aplinkoje, ją reikėtų kruopščiai išbandyti kiekvienoje aplinkoje.

Išnaudojimo bandymų aptikimas ir stebėjimas

Nors pataisymų diegimas yra prioritetas, daugelis organizacijų nori sužinoti, ar jų sistemose nebuvo pasinaudota „Copy Fail“ spragomis, arba bent jau įdiegti ankstyvojo perspėjimo mechanizmus. Keletas saugumo sprendimų tiekėjų paskelbė... konkrečios stebėsenos taisyklės ir EDR šiam atvejui.

Įprastas būdas yra stebėti skaitymo prieigą dvejetainiai failai su setuid (pvz., „su“, „sudo“, „passwd“, „gpasswd“, „mount“, „umount“, „fusermount3“ ir kt.), kai jie gaunami iš interpretatorių, tokių kaip „Python“, arba neįprastų kelių, taip pat sekos, kuriose neprivilegijuoti vartotojai nedelsdami iškviečia „splice()“.

Taip pat rekomenduojama stebėti sukūrimą AF_ALG lizdai (26 šeima dešimtaine tvarka) iš įprastų vartotojų UID ir koreliuoja šiuos įvykius su privilegijuotų dvejetainių failų, paleistų naudojant panašias sh -co komandas, vykdymu – modelis, kuris gerai atitinka tai, ką daro originalus koncepcijos įrodymas.

SIEM aplinkose šias taisykles galima paversti audituojamais standartais ir koreliacijomis, kurios suaktyvina įspėjimus, kai atsiranda įtartinų elgesio modelių. Pažangūs EDR tiekėjai pridėjo parašus su tokiais pavadinimais kaip possible_copy_fail_cve_2026_31431 ar panašiais, kad aptiktų „Python“, „Go“ arba „Rust“ kalbomis parašytas spragas.

Nors šis stebėjimas nepakeičia pataisų, jis padeda nustatyti anomalias veiklas reaguoti prieš incidentui paaštrėjant, o tai ypač aktualu finansų įstaigoms, viešosioms įstaigoms ir svarbiausių paslaugų teikėjams Europos Sąjungoje.

Praktinės rekomendacijos įmonėms ir vadovams

Organizacijoms, kurių infrastruktūra labai priklauso nuo „Linux“, kopijavimo nesėkmės atveju reikia imtis neatidėliotinų priemonių ir esminių saugumo strategijos pakeitimų. Trumpuoju laikotarpiu tinkamiausi žingsniai yra šie:

  • Inventorizuoti visas Linux sistemas produkcijos aplinkoje ir patikrinkite branduolio versiją naudodami tokius įrankius kaip „uname -r“.
  • Patikrinkite kiekvieno platinimo saugos biuleteniai (Ubuntu, Debian, RHEL, SUSE, Amazon Linux ir kt.), jei naudojama versija yra paveikta CVE-2026-31431.
  • Kreipkitės kuo greičiau branduolio atnaujinimai skelbia teikėjas, teikdamas pirmenybę serveriams, kurie yra veikiami kelių vartotojų arba nepatikimo kodo.
  • Sistemose, kuriose neįmanoma atlikti neatidėliotinų atnaujinimų, išjungti algif_aead naudojant „modprobe“ ir, jei įmanoma, apribojant AF_ALG su „seccomp“ / „AppArmor“ / „SELinux“.
  • Peržiūrėti ir sustiprinti konteinerių ir konteinerių politiką Kubernetes aplinkos apriboti prieigą prie branduolio sąsajų, kurios nėra griežtai būtinos.

Vidutinės trukmės laikotarpiu verta peržiūrėti, kiek dvejetainių failų su „setuid“ bitu yra sistemose ir ar jie visi yra tikrai būtini, sumažinant daugelio vartotojų serverių aprėptį ir pagerinant integraciją. automatizuota analizė ir dirbtinio intelekto įrankiai vidiniuose kūrimo ir testavimo procesuose.

„Copy Fail“ atsiradimas priminė, kad net ir toks seniai sukurtas ir kruopščiai peržiūrėtas projektas kaip „Linux“ branduolys gali metų metus turėti rimtų pažeidžiamumų. Europos įmonėms, vyriausybinėms agentūroms ir debesijos paslaugų teikėjams greitas pataisymų diegimas, gerai suplanuotos saugos priemonės ir patobulintas stebėjimas šiuo metu yra geriausias būdas kontroliuoti spragą – spragą, kuri, turint vos kelis šimtus baitų kodo, gali paversti vietinį vartotoją absoliučiu sistemos savininku.

root vartotojas Linux sistemoje
Susijęs straipsnis:
Šakninis vartotojas Linux sistemoje: teisės, rizika ir geriausia praktika