Hackuritate

Vulnerabilitate în nucleul Linux afectează toate distribuțiile majore

O eroare de logică descoperită în nucleul Linux permite unui utilizator local neprivilegiat să obțină privilegii de administrator pe practic orice distribuție Linux lansată după 2017.

Vulnerabilitatea, identificată drept CVE-2026-31431 și denumită „Copy Fail”, exploatează un defect din subsistemul criptografic al nucleului Linux, combinând AF_ALG (un tip de socket care expune subsistemul criptografic al nucleului) și system call-ul splice() într-o scriere controlată de patru octeți în memoria cache a paginilor oricărui fișier lizibil din sistem.

Astfel, cu un script Python de 732 de octeți se poate modifica un binar setuid și poate obține privilegii de root pe practic toate distribuțiile Linux, spun cercetătorii de la Theori, care au descoperit problema.

Cercetătorii au confirmat exploatarea cu succes pe Ubuntu 24.04 LTS, Amazon Linux 2023, RHEL 10.1 și SUSE 16, pe versiuni de nucleu din liniile 6.12, 6.17 și 6.18. Același script funcționează pe toate distribuțiile și arhitecturile testate, fără modificări specifice per distribuție.

Ceea ce distinge această vulnerabilitate de precedente similare, precum Dirty Cow (CVE-2016-5195) sau Dirty Pipe (CVE-2022-0847), este absența completă a condiționărilor de tipul race condition sau a ferestrelor temporale precise.

Copy Fail este o eroare de logică liniară: se declanșează fără curse, reîncercări sau ferestre de timp susceptibile de a produce căderi de sistem.

Nucleul nu marchează niciodată pagina coruptă și fișierul de pe disc rămâne nemodificat, iar comparațiile de sumă de control standard nu detectează modificarea. Cu toate acestea, versiunea coruptă din memoria cache este imediat vizibilă la nivelul întregului sistem.

Impactul se extinde dincolo de privilegiile locale. Deoarece memoria cache a paginilor este partajată între toate procesele unui sistem, inclusiv dincolo de granițele containerelor, Copy Fail reprezintă și un vector de evadare din containere și de compromitere a nodurilor Kubernetes. 

Patch-ul revine la operarea out-of-place în algif_aead.c, eliminând optimizarea din 2017 care a introdus defectul. Distribuțiile majore ar trebui să livreze remedierea prin actualizările normale ale pachetelor de nucleu. Ca măsură de atenuare imediată, administratorii pot bloca crearea de socketuri AF_ALG prin seccomp sau pot dezactiva modulul algif_aead.

Vulnerabilitatea a fost raportată echipei de securitate a nucleului Linux pe 23 martie, patch-urile au fost integrate în nucleul principal pe 1 aprilie 2026, iar CVE-2026-31431 a fost atribuit pe 22 aprilie.

Totuși, este posibil să dureze ceva timp până update-urile vor apărea în distribuțiile Linux.