Vulnerabilitate în OverlayFS care permite escaladarea privilegiilor.

O vulnerabilitate (CVE-2023-0386) a fost identificată în nucleul Linux în implementarea sistemului de fișiere OverlayFS, care poate fi utilizată pentru a obține acces root pe sistemele care au instalat subsistemul FUSE și permit montarea partițiilor OverlayFS de către utilizatori neprivilegiați (începând cu nucleul Linux 5.11, cu activarea spațiilor de nume pentru utilizatori neprivilegiați). Problema a fost rezolvată în ramura nucleului 6.2. Publicația actualizărilor pachetelor în distribuții poate fi urmărită pe paginile: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

Atacul se desfășoară prin copierea fișierelor cu flag-urile setgid/setuid dintr-o partiție montată în modul nosuid, în partiția OverlayFS, care are un strat asociat cu o partiție ce permite executarea fișierelor suid. Vulnerabilitatea este similară cu problema CVE-2021-3847, identificată în 2021, dar are cerințe mai scăzute pentru exploatare — în cazul vechii probleme erau necesare manipulări cu xattrs, care sunt restricționate în utilizarea spațiilor de nume pentru identificatori de utilizator, iar în cazul noii probleme sunt utilizate biții setgid/setuid, care nu sunt prelucrați în mod special în spațiul de nume pentru utilizatori.

Algoritmul pentru realizarea atacului:

  • Prin intermediul subsistemului FUSE, se montează un sistem de fișiere care conține un fișier executabil aparținând utilizatorului root, cu flag-urile setuid/setgid, disponibil tuturor utilizatorilor pentru scriere. La montare, FUSE setează modul „nosuid”.
  • Se anulează (unshare) spațiile de nume pentru utilizatori și punctele de montare (user/mount namespace).
  • Se montează OverlayFS specificând anterior creatul sistem de fișiere FUSE ca strat de bază și un strat superior bazat pe un director care permite posibilitatea de scriere. Directorul stratului superior trebuie plasat în sistemul de fișiere, la montarea căruia nu se folosește flag-ul „nosuid”.
  • Pentru fișierul suid din sectiunea FUSE, se schimbă timpul de modificare cu utilitarul touch, ceea ce duce la copierea acestuia în stratul superior al OverlayFS.
  • La copiere, nucleul nu elimină flag-urile setgid/setuid, ceea ce duce la faptul că fișierul apare în partiția care permite prelucrarea setgid/setuid.
  • Pentru a obține drepturi root, este suficient să se execute fișierul cu flag-urile setgid/setuid din directorul atașat la stratul superior al OverlayFS.

De asemenea, se poate menționa că cercetătorii din echipa Google Project Zero au dezvăluit informații despre trei vulnerabilități care au fost remediate în ramura principală a nucleului Linux 5.15, dar care nu au fost transferate în pachetele cu nucleul din RHEL 8.x/9.x și CentOS Stream 9.

  • CVE-2023-1252 — accesare a unei zone de memorie deja eliberate în structura ovl_aio_req atunci când se efectuează simultan mai multe operațiuni în OverlayFS, desfășurat pe sistemul de fișiere Ext4. Potențial, vulnerabilitatea permite creșterea privilegiilor în sistem.
  • CVE-2023-0590 — accesare a unei zone de memorie deja eliberate în funcția qdisc_graft(). Se estimează că exploatarea se limitează la o încheiere anormală.
  • CVE-2023-1249 — accesare a unei zone de memorie deja eliberate în codul de scriere coredump, apărută datorită omiterii apelului mmap_lock în file_files_note. Se estimează că exploatarea se limitează la o încheiere anormală.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster