CVE-2026-97555 in Linux
Sumário
de VulDB • 25/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
smb: cliente: corrige estouro de heap na reescrita do proprietário/grupo DACL
Quando id_mode_to_cifs_acl reescreve um DACL existente, ele aloca um buffer dimensionado com base no comprimento do DACL em disco relatado por dacl_ptr->size. No entanto, replace_sids_and_copy_aces pode reescrever cada ACE com um novo SID de proprietário/grupo obtido através do upcall cifs.idmap. Esses SIDs podem ter até 15 subautoridades (SID_MAX_SUB_AUTHORITIES), tornando cada ACE com até 76 bytes (sizeof(struct smb_ace)).
Se o DACL original contiver SIDs curtos (por exemplo, 1 subautoridade) enquanto os SIDs de substituição forem longos, as ACEs reescritas transbordarão a alocação.
Corrige-se isso dimensionando sempre para a expansão máxima do SID: aloca sizeof(struct smb_acl) mais num_aces * sizeof(struct smb_ace), o que cobre o cabeçalho smb_acl e espaço para cada ACE no tamanho máximo de SID. Isso substitui a lógica anterior dividida, que usava dacl_ptr->size para montagens cifsacl, mas num_aces * sizeof(struct smb_ace) para montagens mode_from_sid: ambos os caminhos podem acionar a mesma reescrita e precisam do mesmo espaço extra (headroom).
O KASAN relata isso como: BUG: KASAN: slab-out-of-bounds em build_sec_desc+0x1e8a/0x2680 [cifs]
Escrita de tamanho 4 no endereço ffff8881a5e25374 pela tarefa chown/5298 ... O endereço defeituoso está localizado a 0 bytes à direita da região alocada de 884 bytes [ffff8881a5e25000, ffff8881a5e25374)
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.