Daudzmiljonu dolāru aizsardzības stratēģija parasti balstās uz pieņēmumu, ka operētājsistēmas pamata kodols ir statisks, neieņemams seifs. Mēs pavadām gadus, pilnveidojot ugunsmūra noteikumus, identitātes pakalpojumu sniedzējus un galiekārtu noteikšanas skriptus, tomēr arhitektūras pamats bieži vien paliek trauslākais komponents. Linux izmanto optimizāciju, ko sauc par copy-on-write (kopēšana rakstot), lai efektīvi pārvaldītu atmiņu. Šī sistēma nodrošina, ka vairāki procesi koplieto vienu un to pašu fizisko atmiņu, līdz vienam no tiem rodas nepieciešamība to modificēt. Tajā brīdī kodolam ir jāizveido privāta kopija, lai novērstu izmaiņu ietekmi uz citiem lietotājiem. CVE-2026-31635 gadījumā šis pamatnosacījums netika izpildīts.
Pēdējās 48 stundas es pavadīju, pārskatot koncepcijas pierādījuma (PoC) kodu, kas tika publicēts DirtyDecrypt, kas pazīstams arī kā DirtyCBC. Šī ievainojamība ir mācību grāmatas piemērs arhitektūras paradoksam. Tas pats mehānisms, kas izstrādāts, lai padarītu Linux kodolu ātru un atmiņas ziņā efektīvu, ir mehānisms, kas ļāva nepriviliģētam lietotājam pārrakstīt root piederošus failus. Šī ir jau trešā lielā šīs konkrētās atmiņas korupcijas loģikas variācija, ko esam redzējuši pēdējo mēnešu laikā. Tas man atgādina kuģi, kas būvēts ar korpusu, kurš no ārpuses ir necaurlaidīgs, bet izšķīst, pieskaroties savai iekšējai degvielai.
Defekts atrodas funkcijā rxgk_decrypt_skb. Šis kods apstrādā ienākošo ligzdu buferu (socket buffers) atšifrēšanu tīkla steka saņemšanas pusē. Kad kodols apstrādā šos buferus, tas darbojas ar atmiņas lapām, kuras dažkārt tiek koplietotas ar citu procesu lapu kešatmiņu. Normālos apstākļos Linux kodols aktivizē copy-on-write operāciju pirms jebkādas rakstīšanas koplietotā lapā. Tas novērš datu noplūdi no viena procesa cita procesa atmiņas telpā.
Zellic pētnieki atklāja, ka rxgk_decrypt_skb trūka šī COW aizsarga. Kad kodols atšifrē datus buferī, kas gadījumā ir koplietota lapa, tas ieraksta atšifrēto saturu tieši fiziskajā atmiņā, vispirms neizveidojot privātu kopiju. Tas apiet standarta failu sistēmas atļaujas un atmiņas aizsardzību. Uzbrucējs var piesaistīt (map) sensitīvu failu, piemēram, /etc/shadow vai SUID bināro failu, savai atmiņas telpai un pēc tam izmantot ievainojamo tīkla ceļu, lai piespiestu kodolu ierakstīt datus šī faila lapu kešatmiņā. Tiklīdz kodols izskalo lapu kešatmiņu diskā, modifikācija kļūst pastāvīga.
DirtyDecrypt nav izolēts gadījums. Tas ir pēctecis ievainojamību saimei, kas sākās ar Copy Fail (CVE-2026-31431) 2026. gada aprīlī. Theori pētnieki pirmo reizi konstatēja, ka kodola kriptogrāfijas ligzdu saskarnei bija līdzīgas loģikas kļūdas. Nedēļu vēlāk parādījās Dirty Frag. Tam sekoja Fragnesia, kas bija vērsta pret XFRM apakšsistēmu. Katrai no šīm ievainojamībām ir viens un tas pats pamatcēlonis: nespēja pārbaudīt lapas piederību pirms kodola līmeņa rakstīšanas veikšanas.
Šī atklāto kļūdu sērija izgaismo sistēmisku problēmu tajā, kā Linux kodols apstrādā mūsdienu tīkla atmiņas optimizācijas. MSG_SPLICE_PAGES un citu augstas veiktspējas nulles kopēšanas (zero-copy) mehānismu ieviešana ir radījusi sarežģītību, kuru pašreizējā COW infrastruktūra nespēj pilnvērtīgi regulēt. Pētnieks, kas pazīstams kā 0xdeadbeefnetwork, atzīmēja, ka, tiklīdz labojums vienam variantam nonāk publiskajā koda kokā, nākamā varianta izmantošana uzbrukumam ir standarta uzdevums drošības profesionāļiem. Šis straujais n-dienu izstrādes cikls ir atgādinājums, ka ielāps vienā apakšsistēmā negarantē drošību citā, kurā tiek izmantota līdzīga loģika.
CVE-2026-31635 ietekme ir stipri atkarīga no kodola konfigurācijas. Ievainojamībai ir nepieciešams, lai būtu iespējota opcija CONFIG_RXGK. Tāpēc tādas distribūcijas kā Fedora, Arch Linux un openSUSE Tumbleweed ir pakļautas lielākam riskam. Šīs distribūcijas bieži dod priekšroku jaunākajām funkcijām un plašākam aparatūras atbalstam, kas ietver specializētu tīkla un kriptogrāfijas moduļu iespējošanu, kuri ir atspējoti konservatīvākos uzņēmumu izdevumos, piemēram, RHEL vai Debian Stable.
Mākoņvidēs šī ievainojamība rada ievērojamu risku konteineru izolācijai. Ja darba mezgls (worker node) darbina ievainojamu kodolu, kompromitēts konteiners var izmantot DirtyDecrypt primitīvu, lai izkļūtu no savas lokālās vides. Pārrakstot koplietoto bināro failu vai kodola struktūru lapu kešatmiņu, uzbrucējs var pāriet no ierobežota poda uz pilnu root piekļuvi resursdatoram. Tas efektīvi sagrauj daudzlietotāju (multi-tenant) drošības modeli, uz kuru paļaujas Kubernetes un citi orķestrētāji darba slodzes izolācijai.
Kodola atklāto ievainojamību apjoms ir licis pārdomāt to, kā mēs pārvaldām Linux drošību. Saša Levins (Sasha Levin), ievērojams kodola uzturētājs, nesen ierosināja kodola avārijas slēdzi (killswitch). Šis rīks ļauj administratoram atspējot konkrētu kodola funkciju izpildlaikā bez restartēšanas. Ja konkrētā tīkla funkcijā tiek atklāta nulles dienas ievainojamība, piemēram, DirtyDecrypt, administrators var likt kodolam pārtraukt šīs funkcijas izpildi un tā vietā atgriezt fiksētu vērtību. Tas darbojas kā avārijas noslēgvārsts kuģa korpusam, kamēr tiek sagatavots pastāvīgs ielāps.
Daži izstrādātāji pauž bažas par paša avārijas slēdža drošības ietekmi. Ja uzbrucējs iegūst pietiekamas privilēģijas, lai aktivizētu avārijas slēdzi, viņš teorētiski varētu atspējot drošības moduļus vai auditēšanas funkcijas. Tomēr pašreizējā Linux ekosistēmas realitāte ir tāda, ka ielāpu ieviešana ir pārāk lēna mūsdienu ekspluatācijas koda izstrādes ātrumam. Avārijas slēdzis nodrošina reaktīvu pasākumu organizācijām, kuras nevar gaidīt jaunas kodola versijas pilnu regresijas testēšanu. Tā ir pragmatiska atbilde uz faktu, ka mūsu programmatūra kļūst pārāk sarežģīta, lai tajā nebūtu kļūdu.
Rocky Linux ir izvēlējies citu pieeju, ieviešot īpašu drošības repozitoriju. Tradicionāli pakārtotās (downstream) distribūcijas gaida, kamēr augšupējie (upstream) nodrošinātāji izlaidīs pārbaudītu ielāpu, pirms tās nosūta atjauninājumus saviem lietotājiem. Tas rada ievainojamības logu, kad PoC ir publiski pieejams, bet oficiālais atjauninājums ir iestrēdzis kvalitātes kontroles (QA) ciklā. Jaunais Rocky Linux drošības repozitorijs ir izvēles funkcija, kas piegādā steidzamus labojumus, tiklīdz tie ir pieejami, pat ja tie vēl nav sasnieguši galveno (mainline) kodolu.
Šis solis ir pretrunīgs, jo tas pārkāpj stingru augšupējo saderību. Ja Rocky Linux komanda izlabo kļūdu un augšupējie uzturētāji vēlāk izvēlas citu labojumu, abi kodoli atšķirsies. Uzturētāji atzīst šo risku, taču uzskata, ka lietotāju aizsardzība ir svarīgāka par perfektu versiju saskaņošanu. Tas atspoguļo plašākas nozares pārmaiņas, par prioritāti izvirzot veiklību aktīvas ekspluatācijas apstākļos. Administratoriem tas nozīmē izvēli starp tradicionālā izlaišanas cikla stabilitāti un agresīvākas ielāpu stratēģijas noturību.
Aizsardzībai pret CVE-2026-31635 ir nepieciešams vairāk nekā tikai standarta atjauninājums. Organizācijām vispirms jāpārbauda, vai to sistēmas vispār ir ievainojamas. Pirmais solis ir kodola konfigurācijas pārbaude attiecībā uz CONFIG_RXGK. Ja modulis ir iespējots, bet nav nepieciešams jūsu darba slodzei, tā atspējošana, izmantojot kodola moduļu melno sarakstu (denylist), ir visefektīvākais tūlītējais risinājums. Dažos gadījumos tas pilnībā noņem uzbrukuma virsmu bez nepieciešamības restartēt sistēmu.
No riska viedokļa jums vajadzētu pieņemt, ka vietējiem lietotājiem ir iespēja izpildīt šo PoC, ja viņiem ir piekļuve čaulai (shell). Tāpēc būtiska ir stingra /etc/ direktorijas un SUID bināro failu uzraudzība. Mūsdienīgi drošības rīki, kas uzrauga lapu kešatmiņas integritāti, var brīdināt, ja process mēģina modificēt tikai lasāmus failus, izmantojot netradicionālus atmiņas ceļus. Ielāpu uzstādīšana joprojām ir zelta standarts, taču, kamēr jūsu infrastruktūra nav atjaunināta, ierobežojoši Seccomp profili un AppArmor politikas var ierobežot lokālo procesu spēju mijiedarboties ar ievainojamām tīkla funkcijām.
Auditējiet sava kodola konfigurāciju un pārbaudiet, vai jūsu distribūcija ir izlaidusi labojumu CVE-2026-31635. Organizācijām, kas izmanto Arch vai Fedora, šie atjauninājumi jānosaka par prioritāti nekavējoties. Ja pārvaldāt lielu Linux serveru parku, apsveriet ilgtermiņa sekas, izmantojot kodolus ar plašu funkciju klāstu, un izvērtējiet, vai jūsu drošības stājai ir piemērota stingrāka, minimāla kodola konfigurācija.
Atruna: Šis raksts ir paredzēts tikai informatīviem un izglītojošiem mērķiem. Tas neaizstāj profesionālu kiberdrošības auditu vai incidentu reaģēšanas pakalpojumu. Sniegtā tehniskā informācija ir paredzēta, lai palīdzētu administratoriem izprast riskus un ieviest nepieciešamo aizsardzību.



Mūsu end-to-end šifrētais e-pasta un mākoņdatu glabāšanas risinājums nodrošina visefektīvākos līdzekļus drošai datu apmaiņai, garantējot jūsu datu drošību un konfidencialitāti.
/ Izveidot bezmaksas kontu