Vulnerabilità nel modulo ksmbd del kernel Linux che consentono l'esecuzione di codice in modalità remota

Nel modulo ksmbd, che offre un'implementazione di un file server basato sul protocollo SMB integrato nel kernel Linux, sono state identificate 14 vulnerabilità, quattro delle quali consentono di eseguire il proprio codice in remoto con i diritti del kernel. L'attacco può essere effettuato senza autenticazione; è sufficiente che sul sistema sia attivato il modulo ksmbd. I problemi compaiono a partire dal kernel 5.15, che includeva il modulo ksmbd. Le vulnerabilità sono state corrette negli aggiornamenti del kernel 6.3.2, 6.2.15, 6.1.28 e 5.15.112. Puoi tenere traccia delle correzioni nelle distribuzioni nelle seguenti pagine: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch.

Problemi identificati:

  • CVE-2023-32254, CVE-2023-32250, CVE-2023-32257, CVE-2023-32258 - esecuzione di codice remoto con diritti kernel a causa della mancanza del corretto blocco degli oggetti durante l'elaborazione di richieste esterne contenenti SMB2_TREE_DISCONNECT, SMB2_SESSION_SETUP, SMB2_LOGOFF e SMB2_CLOSE, che risulta in una race condition sfruttabile. L'attacco può essere effettuato senza autenticazione.
  • CVE-2023-32256 - Perdita del contenuto delle regioni di memoria del kernel a causa di una race condition durante l'elaborazione dei comandi SMB2_QUERY_INFO e SMB2_LOGOFF. L'attacco può essere effettuato senza autenticazione.
  • CVE-2023-32252, CVE-2023-32248 - Denial of Service remoto a causa di un dereferenziamento del puntatore NULL durante l'elaborazione dei comandi SMB2_LOGOFF, SMB2_TREE_CONNECT e SMB2_QUERY_INFO. L'attacco può essere effettuato senza autenticazione.
  • CVE-2023-32249 - Possibilità di dirottamento della sessione con un utente a causa della mancanza di un adeguato isolamento durante la gestione di un ID di sessione in modalità multicanale.
  • CVE-2023-32247, CVE-2023-32255: un rifiuto di servizio dovuto a una perdita di memoria durante l'elaborazione del comando SMB2_SESSION_SETUP. L'attacco può essere effettuato senza autenticazione.
  • CVE-2023-2593 è un rifiuto di servizio dovuto all'esaurimento della memoria disponibile, causato da un errore di memoria durante l'elaborazione di nuove connessioni TCP. L'attacco può essere effettuato senza autenticazione.
  • CVE-2023-32253 Si verifica una negazione del servizio a causa di un deadlock durante l'elaborazione del comando SMB2_SESSION_SETUP. L'attacco può essere effettuato senza autenticazione.
  • CVE-2023-32251 - mancanza di protezione contro gli attacchi di forza bruta.
  • CVE-2023-32246 Un utente del sistema locale con il diritto di scaricare il modulo ksmbd può ottenere l'esecuzione del codice a livello del kernel Linux.

Inoltre, sono state identificate altre 5 vulnerabilità nel pacchetto ksmbd-tools, che include utilità per la gestione e l'utilizzo di ksmbd, eseguite nello spazio utente. Le vulnerabilità più pericolose (ZDI-CAN-17822, ZDI-CAN-17770, ZDI-CAN-17820, CVE non ancora assegnate) consentono a un utente malintenzionato remoto e non autenticato di eseguire il proprio codice con diritti di root. Le vulnerabilità sono causate dalla mancanza di controllo della dimensione dei dati esterni ricevuti prima di copiarli nel buffer nel codice del servizio WKSSVC e nei gestori del codice operativo LSARPC_OPNUM_LOOKUP_SID2 e SAMR_OPNUM_QUERY_USER_INFO. Altre due vulnerabilità (ZDI-CAN-17823, ZDI-CAN-17821) possono portare alla negazione del servizio remota senza autenticazione.

Ksmbd è pubblicizzato come un'estensione Samba ad alte prestazioni e pronta per l'integrazione che si integra con gli strumenti e le librerie Samba secondo necessità. Il supporto per l'esecuzione di un server SMB utilizzando il modulo ksmbd è presente nel pacchetto Samba dalla versione 4.16.0. A differenza di un server SMB che viene eseguito nello spazio utente, ksmbd è più efficiente in termini di prestazioni, consumo di memoria e integrazione con funzionalità avanzate del kernel. ksmbd è codificato da Namjae Jeon di Samsung e Hyunchul Lee di LG e mantenuto come parte del kernel di Steve French di Microsoft, manutentore dei sottosistemi CIFS/SMB2/SMB3 nel kernel Linux e membro di lunga data del team di sviluppo di Samba, ha dato un contributo significativo all'implementazione del supporto per i protocolli SMB/CIFS in Samba e Linux.

Inoltre, si possono notare due vulnerabilità nel driver grafico vmwgfx, utilizzato per implementare l'accelerazione 3D in ambienti VMware. La prima vulnerabilità (ZDI-CAN-20292) consente a un utente locale di aumentare i propri privilegi nel sistema. La vulnerabilità è dovuta alla mancata verifica dello stato di un buffer prima di liberarlo durante l'elaborazione di un vmw_buffer_object, il che potrebbe portare a una doppia chiamata alla funzione free. La seconda vulnerabilità (ZDI-CAN-20110) porta ad una perdita del contenuto della memoria del kernel a causa di errori nell'organizzazione del blocco degli oggetti GEM.

Fonte: opennet.ru

Aggiungi un commento