În modulul ksmbd, care oferă o implementare integrată în nucleul Linux a unui server de fișiere bazat pe protocolul SMB, au fost descoperite 14 vulnerabilități, dintre care patru permit executarea de cod la distanță cu privilegii de nucleu. Atacul poate fi realizat fără autentificare, fiind suficient ca modulul ksmbd să fie activat pe sistem. Problemele apar începând cu nucleul 5.15, în care a fost acceptat modulul ksmbd. Vulnerabilitățile au fost remediate în actualizările nucleului 6.3.2, 6.2.15, 6.1.28 și 5.15.112. Urmăriți corecțiile în distribuții pe următoarele pagini: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch.
Problemele identificate:
- CVE-2023-32254, CVE-2023-32250, CVE-2023-32257, CVE-2023-32258 — executarea de cod la distanță cu privilegii de nucleu din cauza lipsei blocărilor adecvate a obiectelor în procesarea solicitărilor externe care conțin comenzi SMB2_TREE_DISCONNECT, SMB2_SESSION_SETUP, SMB2_LOGOFF și SMB2_CLOSE, ceea ce conduce la un stadiu exploatabil de competiție. Atacul poate fi realizat fără autentificare.
- CVE-2023-32256 — scurgerea conținutului zonelor de memorie ale nucleului din cauza stării de competiție în procesarea comenzilor SMB2_QUERY_INFO și SMB2_LOGOFF. Atacul poate fi realizat fără autentificare.
- CVE-2023-32252, CVE-2023-32248 — atac de refuz al serviciului la distanță din cauza dereferencierii unui pointer nul în procesarea comenzilor SMB2_LOGOFF, SMB2_TREE_CONNECT și SMB2_QUERY_INFO. Atacul poate fi realizat fără autentificare.
- CVE-2023-32249 — posibilitatea interceptării unei sesiuni cu un utilizator din cauza lipsei unei izolații adecvate în procesarea identificatorului de sesiune în modul multi-canal.
- CVE-2023-32247, CVE-2023-32255 — atac de refuz al serviciului din cauza scurgerii de memorie în procesarea comenzii SMB2_SESSION_SETUP. Atacul poate fi realizat fără autentificare.
- CVE-2023-2593 — atac de refuz al serviciului din cauza epuizării memoriei disponibile, provocată de o eroare care duce la neînapoierea memoriei în procesarea noilor conexiuni TCP. Atacul poate fi realizat fără autentificare.
- CVE-2023-32253 — atac de refuz al serviciului din cauza apariției unui blocaj mutual în procesarea comenzii SMB2_SESSION_SETUP. Atacul poate fi realizat fără autentificare.
- CVE-2023-32251 — lipsa protecției împotriva atacurilor de bruteforce asupra parametrilor de autentificare.
- CVE-2023-32246 — un utilizator local al sistemului, care are permisiunea de a descărca modulul ksmbd, poate obține executarea codului său la nivelul kernel-ului Linux.
În plus, au fost identificate încă 5 vulnerabilități în pachetul ksmbd-tools, care include instrumente pentru gestionarea și operarea ksmbd, executate în spațiul utilizatorului. Vulnerabilitățile cele mai periculoase (ZDI-CAN-17822, ZDI-CAN-17770, ZDI-CAN-17820, CVE înca nu este alocat) permit unui atacator neautentificat de la distanță să execute codul său cu privilegii de root. Aceste vulnerabilități sunt cauzate de absența verificării dimensiunii datelor externe primite înainte de copierea acestora în buffer în codul serviciului WKSSVC și în handler-ele de opcoduri LSARPC_OPNUM_LOOKUP_SID2 și SAMR_OPNUM_QUERY_USER_INFO. Alte două vulnerabilități (ZDI-CAN-17823, ZDI-CAN-17821) pot duce la un atac de tip denial of service de la distanță fără autentificare.
Ksmbd este prezentat ca o extensie de înaltă performanță și gata de utilizare pe dispozitive încorporate, integrabilă cu instrumentele și bibliotecile Samba, dacă este necesar. Suportul pentru operarea unui server SMB prin intermediul modulului ksmbd este disponibil în pachetul Samba, începând cu versiunea 4.16.0. Spre deosebire de serverul SMB care funcționează în spațiul utilizatorului, ksmbd este mai eficient din punct de vedere al performanței, consumului de memorie și integrării cu funcționalitățile avansate ale kernel-ului. Autori ai codului ksmbd sunt Namjae Jeon de la Samsung și Hyunchul Lee de la LG, iar întreținerea din cadrul kernel-ului este realizată de Steve French de la Microsoft, care este menținător al subsistemului CIFS/SMB2/SMB3 în kernel-ul Linux și un participant de lungă durată la echipa de dezvoltatori Samba, contribuind semnificativ la implementarea suportului pentru protocoalele SMB/CIFS în Samba și Linux.
De asemenea, se pot menționa două vulnerabilități în driver-ul grafic vmwgfx, utilizat pentru accelerarea 3D în medii VMware. Prima vulnerabilitate (ZDI-CAN-20292) permite unui utilizator local să-și crească privilegile în sistem. Vulnerabilitatea este cauzată de absența verificării stării buffer-ului înainte de eliberarea acestuia în timpul procesării obiectului vmw_buffer_object, ceea ce poate duce la o apelare dublă a funcției free. A doua vulnerabilitate (ZDI-CAN-20110) duce la o scurgere a conținutului memoriei kernel-ului din cauza erorilor în organizarea blocării obiectelor GEM.
Sursa: opennet.ro
