Qualys drošības pētnieki 22. jūlijā publicēja kļūdu ar nosaukumu RefluXFS. Tā slēpjas Linux kodola XFS failu sistēmā un ļauj parastam lietotājam bez īpašām tiesībām iegūt pilnu root piekļuvi. Kļūda kodolā ir kopš 4.11 versijas, kas iznāca 2017. gadā, tātad neatklāta tā nostāvējusi apmēram deviņus gadus.
Qualys lēš, ka skartas vairāk nekā 16,4 miljoni sistēmu. Uzbrukums strādā tikai tad, kad XFS sējumam ieslēgta reflink funkcija, bet tieši tā pēc noklusējuma ir aktīva lielākajās uzņēmumu Linux distribūcijās. Kļūdai piešķirts numurs CVE-2026-64600 un augstas bīstamības vērtējums.
Šī nav pirmā reize, kad Qualys komanda atklāj nopietnu Linux tiesību eskalāciju. Iepriekš tā atrada PwnKit polkit rīkā un Looney Tunables glibc bibliotēkā. Abas gadījās vecā, plaši izmantotā kodā, tāpat kā RefluXFS.
Ko dara reflink
Reflink ļauj diviem failiem dalīties ar vieniem un tiem pašiem diska blokiem, kamēr to saturs sakrīt. Tiklīdz viena kopija tiek mainīta, XFS izveido jaunu privātu bloku un pārkartē failu uz to. Šī copy-on-write pieeja taupa vietu un paātrina kopēšanu, tāpēc to izmanto konteineru krātuves, momentuzņēmumi un dublējumi. Tieši šajā pārkartēšanas solī slēpjas kļūda.
Kā uzbrukums darbojas
Kad divi O_DIRECT ieraksti vienlaikus raksta vienā reflinkotajā failā, kodols uz brīdi atlaiž inode slēdzeni, kamēr gaida vietu transakciju žurnālā. Šajā brīdī otrs rakstītājs paspēj pārkartēt failu un samazināt bloka atsauču skaitītāju. Pirmais rakstītājs pēc slēdzenes atgūšanas izmanto veco fiziskā bloka adresi un raksta tieši oriģinālajā blokā, jo kļūdaini pieņem, ka bloks joprojām ir privāts.
Rezultātā uzbrucējs pārraksta root īpašumā esošus failus, piemēram, konfigurācijas failu vai SUID-root bināru. No tā līdz pilnai varai pār mašīnu paliek viens solis. Uzbrukumam vajadzīga tikai vietēja piekļuve, parastam lietotājam rakstāma direktorija un vērtīgs mērķa fails.
Kāpēc kļūda paliek neredzama
RefluXFS neatstāj ierakstus kodola žurnālā. Izmaiņas failos saglabājas arī pēc pārstartēšanas. Qualys pārbaudē uzbrukums izdevās arī ar ieslēgtu SELinux Enforcing režīmu, tāpat cauri seccomp, kernel lockdown un konteineriem. Parastās failu metadatu pārbaudes to nepamana.
Qualys norāda, ka nav neviena montēšanas parametra vai sysctl iestatījuma, kas atslēgtu XFS reflink pēc failu sistēmas izveides, tāpēc praktiska pagaidu risinājuma nav.
Kuras sistēmas ir skartas
Pēc noklusējuma ievainojami ir Red Hat Enterprise Linux 8, 9 un 10, CentOS Stream, Oracle Linux, Rocky Linux, AlmaLinux, CloudLinux 8, 9 un 10, Fedora Server no 31. versijas, kā arī Amazon Linux 2023 un Amazon Linux 2, sākot no 2022. gada decembra. RHEL 7 nav skarts, jo tam reflink pēc noklusējuma nav ieslēgts.
Debian, Ubuntu, SLES un openSUSE ir apdraudēti tikai tad, ja administrators pats instalēšanas laikā XFS sējumam ieslēdza reflink. Uz šīm sistēmām ar noklusējuma iestatījumiem uzbrukums nestrādā.
Kā aizsargāties
Vienīgais risinājums ir uzlikt ielāpoto kodolu un pārstartēt sistēmu. Augšupējais labojums kodola koda kokā nonāca 16. jūlijā, sešas dienas pirms publiskošanas. Red Hat sāka izdot kodola atjauninājumus jau 14. jūlijā ar apzīmējumiem RHSA-2026:39179 un RHSA-2026:39180 RHEL 8 sistēmām, kā arī RHSA-2026:39494 RHEL 10 sistēmām. Debian un citi izdevēji ielāpotos kodolus jau izplata, par to raksta BleepingComputer.
Aktīvus uzbrukumus līdz 23. jūlijam neviens nebija fiksējis. Tā kā RefluXFS prasa vietēju piekļuvi, vislielākais risks ir daudzlietotāju serveriem, koplietošanas hostingam un mākoņa mašīnām, kur svešs lietotājs jau spēj palaist savu kodu.
Komentāri
Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.