CVE-2026-64394 in Linux
Riassunto
di VulDB • 25/07/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
ksmbd: aggiunta di un controllo WRITE_DAC/WRITE_OWNER per SMB2 SET_INFO SECURITY
Il commit cc57232cae23 ("ksmbd: fix FSCTL permission bypass by adding a permission check for FSCTL_SET_SPARSE") ha aggiunto una verifica fp->daccess in fsctl_set_sparse e ha segnalato che "controlli simili a livello di handle esistono in altre funzioni ma mancano qui". L'elaborazione SMB2 SET_INFO SECURITY è una delle mancanti ed è la più rilevante per la sicurezza: smb2_set_info_sec() chiama set_info_sec() senza alcun controllo di accesso specifico per l'handle.
set_info_sec() (fs/smb/server/smbacl.c) modifica i permessi del file: riscrive proprietario/gruppo/modalità tramite notify_change(), riscrive l'ACL POSIX tramite set_posix_acl() e, quando è impostato KSMBD_SHARE_FLAG_ACL_XATTR, rimuove e riscrive il descrittore di sicurezza Windows tramite ksmbd_vfs_set_sd_xattr(). Ogni altra elaborazione che provoca una modifica persistente nel gestore fratello smb2_set_info_file() verifica prima fp->daccess (FILE_WRITE_DATA / FILE_DELETE / FILE_WRITE_EA / FILE_WRITE_ATTRIBUTES); l'elaborazione SECURITY, che muta il controllo di accesso stesso, è l'unica priva di questo filtro.
Un client può quindi aprire un handle con solo FILE_WRITE_ATTRIBUTES (nessun FILE_WRITE_DAC / FILE_WRITE_OWNER) e utilizzare SMB2_SET_INFO con InfoType SMB2_O_INFO_SECURITY per riscrivere la DACL del file e il proprietario, ottenendo così accessi che l'handle daccess non prevedeva. A differenza delle elaborazioni FSCTL relative ai dati, si tratta di un'operazione su metadati/xattr, quindi non esiste alcun filtro VFS FMODE_WRITE a valle: il controllo fp->daccess mancante costituisce l'unica barriera.
L'impostazione di un descrittore di sicurezza corrisponde all'operazione WRITE_DAC / WRITE_OWNER; è pertanto necessario richiedere almeno una delle due autorizzazioni sull'handle prima di modificare i permessi del file. -EACCES viene mappato in STATUS_ACCESS_DENIED da smb2_set_info().
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.