Copy Fail — njĂ« dobĂ«si nĂ« bĂ«rthamĂ«n Linux, e cila lejon qasje root nĂ« shumicĂ«n e shpĂ«rndarjeve

Kërkuesit nga kompania Xint kanë zbuluar një vulnerabilitet në bërthamën Linux (CVE-2026-31431), i cili i lejon një përdoruesi pa privilegje të fitojë qasje root në sistem. Problemi ka marrë emrin kodor Copy Fail. Një prototip eksploitimi është në dispozicion. Mundësia e shfrytëzimit të vulnerabilitetit është demonstruar në Ubuntu 24.04 LTS, Amazon Linux 2023, RHEL 10.1 dhe SUSE 16, por vërehet se paketat me bërthamë nga distribuime të tjera, duke përfshirë Debian, Arch, Fedora, Rocky dhe Alma, gjithashtu janë të prekura nga problemi, por ato nuk janë testuar veçmas.

Vulnerabiliteti shkaktohet nga një gabim logjik në API-në crypto (AF_ALG) të bërthamës Linux, i bërë gjatë optimizimit të vitit 2017, i cili heq buffering-un e panevojshëm përmes kryerjes në vend (in-place) të operacioneve të enkriptimit të bllokut AEAD (Enkriptim i Autentifikuar me Të Dhëna të Lidhura). Problemi ka lindur nga përdorimi i pavend i funksionit splice(), i cili transmeton të dhëna midis deshifrave të skedarëve dhe kanaleve (pipe) pa kopjim, duke kaluar referenca në elementët e caches së faqeve. Pas optimizimit, kur një skedar dërgohej në soketin AF_ALG për dekriptim, në strukturën scatterlist shkruhej jo një referencë në një buffer të veçantë, por një referencë e drejtpërdrejtë në elementët e caches së bërthamës me të dhënat e skedarit.

Në vazhdim, gjatë procesit të dekodimit AEAD u përzihen të dhënat e lidhura me etiketën e autentifikimit («authentication tag») me të dhëna shtesë të autentifikueshme (AAD, Associated Authenticated Data) që kopjohen në tamponin RX, ndërsa offset-i për operacionin e shkruar në etiketën e autentifikimit llogaritej në raport me të dhënat e kopjuara pa kontrollime të nevojshme, gjë që lejonte përsëritjen e zonave të rastësishme në cache-in e faqes.

Vulnerabiliteti ofron mundësinë për të riparuar 4 byte për çdo kërkesë në offset-in e zgjedhur, që lejon sulmuesin, nëpërmjet dërgimit të një serie kërkesash, të ndryshojë përmbajtjen e ndonjë fiche në sistemin, e cila është e lexueshme dhe që është vendosur më parë në cache. Duke marrë parasysh se në çdo operacion të leximit nga skedarët përmbajtja kthehet fillimisht nga cache-i i faqes, pas zëvendësimit të informacionit në cache-in e faqes, bërthama ose procesi gjatë leximit të të dhënave nga skedari do të përfitojë të dhëna të modifikuara në vend të atyre reale, çka mund të përdoret për injektimin e kodit në skedarët ekzekutivë që ekzekutohen ose në bibliotekat e ndara që ngarkohen.

Për të ekzekutuar kodin me privilegje root, mjafton të arrihet ndryshimi i caches së faqeve për çdo skedar ekzekutiv me flak suid root.
Në exploitimin e propozuar, kryhet leximi i skedarit ekzekutiv /usr/bin/su dhe modifikimi i përmbajtjes së tij të ngarkuar në cache për të injektuar kodin e tij. Kur të ekzekutohet më vonë utilitarja 'su', do të ngarkohet në memorje jo skedari origjinal nga mediumi ruajtës, por një kopje e modifikuar nga cache.

Exploiti është universal, nuk kërkon adaptim për shpërndarje ose versione të bërthamës, dhe mund të përdoret me çdo shpërndarje. Meqenëse në përdorimin e izolimit të kontejnerëve, për të gjithë kontejnerët përdoret një cache e përbashkët e faqeve, vulnerabiliteti mund të përdoret për të marrë akses në mjedisin host nga kontejneri (më vonë premtuan të publikojnë një exploit për të anashkaluar izolimin në Kubernetes).

Një dobësi u zbulua me ndihmën e AI pas rreth një ore eksperimentesh me analizën e kodit të nënshkrimit të kriptimit të bërthamës. Problemi shfaqet që nga bërthama Linux 4.14, e lëshuar në vitin 2017, dhe është rregulluar në bërthamën 6.18.22, 6.19.12 dhe 7.0. Statusi i rregullimit të dobësive në shpërndarjet mund të vlerësohet në këto faqe: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch,
Fedora, ROSA.

Si një mënyrë alternative mbrojtjeje, mund të çaktivizoni modulimin e bërthamës algif_aead, i cili përdoret në OpenSSL kur aktivizohet në mënyrë të qartë motori afalg dhe në aplikacione të veçanta (mund të kontrolloni praninë e aplikacioneve të tilla të hapura me komandën «lsof | grep AF_ALG»):

    echo «install algif_aead /bin/false» > /etc/modprobe.d/disable-algif.conf
    rmmod algif_aead

    Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster