Vulnerabilità nel modulo ksmbd del kernel Linux, che consente l'esecuzione remota di codice

Nel modulo ksmbd, che include un'implementazione del server file basato sul protocollo SMB incorporata nel kernel Linux, è stata identificata una vulnerabilità critica che consente l'esecuzione remota del proprio codice con i privilegi del kernel. L'attacco può essere effettuato senza autenticazione, basta che il modulo ksmbd sia attivato sul sistema. Il problema si manifesta a partire dal kernel 5.15, rilasciato a novembre 2021, ed è stato corretto senza rumore in aggiornamenti 5.15.61, 5.18.18 e 5.19.2, rilasciati ad agosto 2022. Poiché l'identificatore CVE per il problema non è ancora stato assegnato, non ci sono informazioni precise sulla risoluzione del problema nelle distribuzioni.

I dettagli sull'esploitazione della vulnerabilità non sono ancora stati rivelati, si sa solo che la vulnerabilità è causata dall'accesso a un'area di memoria già liberata (Use-After-Free) a causa della mancanza di controllo sull'esistenza dell'oggetto prima di eseguire operazioni con esso. Il problema è legato al fatto che nella funzione smb2_tree_disconnect() veniva liberata la memoria allocata per la struttura ksmbd_tree_connect, ma successivamente rimaneva ancora un puntatore, utilizzato nella gestione di alcune richieste esterne contenenti comandi SMB2_TREE_DISCONNECT.

Oltre alla vulnerabilità sopra menzionata, nel ksmbd sono stati corretti anche 4 problemi meno gravi:

  • ZDI-22-1688 — esecuzione remota di codice con privilegi di kernel a causa della mancanza di un controllo delle dimensioni effettive dei dati esterni prima di copiarli in un buffer allocato. La pericolosità della vulnerabilità è attenuata dal fatto che l'attacco può essere effettuato solo da un utente autenticato.
  • ZDI-22-1691 — fuga remota di informazioni dalla memoria del kernel a causa di una scorretta validazione dei parametri di input nel gestore del comando SMB2_WRITE (l'attacco può essere effettuato solo da un utente autenticato).
  • ZDI-22-1687 — attacco remoto di denial of service tramite esaurimento della memoria disponibile nel sistema a causa di una scorretta liberazione delle risorse nel gestore del comando SMB2_NEGOTIATE (l'attacco può essere effettuato senza autenticazione).
  • ZDI-22-1689 — crash remoto del kernel a causa della mancanza di un adeguato controllo dei parametri del comando SMB2_TREE_CONNECT, che porta alla lettura da un'area al di fuori del buffer (l'attacco può essere effettuato solo da un utente autenticato).

Il supporto per l'esecuzione di un server SMB tramite il modulo ksmbd è presente nel pacchetto Samba a partire dalla versione 4.16.0. A differenza del server SMB che opera nello spazio utente, ksmbd è più efficiente in termini di prestazioni, consumo di memoria e integrazione con funzionalità avanzate del kernel. Ksmbd è presentato come un'estensione ad alte prestazioni e pronta per l'uso su dispositivi embedded di Samba, integrabile se necessario con strumenti e librerie di Samba. Gli autori del codice ksmbd sono Namjae Jeon di Samsung e Hyunchul Lee di LG, mentre il supporto all'interno del kernel è gestito da Steve French di Microsoft, mantenitore del sottosistema CIFS/SMB2/SMB3 nel kernel Linux e storico membro del team di sviluppatori di Samba, che ha dato un contributo significativo all'implementazione del supporto per i protocolli SMB/CIFS in Samba e Linux.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster