Katalog CVE

CVE-2026-97555

WysokieCVSS 8.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Streszczenie

W kliencie SMB jądra Linux występuje przepełnienie sterty przy przepisywaniu właściciela/grupy DACL: bufor jest alokowany na podstawie rozmiaru oryginalnego DACL, ale zamiana SID może zwiększyć rozmiar każdego ACE, co prowadzi do zapisu poza buforem. Poprawka alokuje zawsze rozmiar uwzględniający maksymalną ekspansję SID.

Ocena ryzyka

Przepełnienie sterty może prowadzić do awarii systemu, uszkodzenia pamięci lub potencjalnie zdalnego wykonania kodu.

Rekomendacja

Natychmiast zastosuj poprawkę jądra Linux, która zmienia sposób alokacji bufora na worst-case.

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix heap overflow in DACL owner/group rewrite When id_mode_to_cifs_acl rewrites an existing DACL, it allocates a buffer sized according to the on-disk DACL length reported by dacl_ptr->size. However, replace_sids_and_copy_aces may rewrite each ACE with a new owner/group SID obtained from the cifs.idmap upcall. Those SIDs can have up to SID_MAX_SUB_AUTHORITIES (15) sub-authorities, making each ACE up to 76 bytes (sizeof(struct smb_ace)). If the original DACL contains short SIDs (e.g., 1 sub-authority) while the replacement SIDs are long, the rewritten ACEs overflow the allocation. Fix this by always budgeting for worst-case SID expansion: allocate sizeof(struct smb_acl) plus num_aces * sizeof(struct smb_ace), which covers the smb_acl header and room for every ACE at maximum SID size. This replaces the previous split logic that used dacl_ptr->size for cifsacl mounts but num_aces * sizeof(struct smb_ace) for mode_from_sid mounts: both paths can trigger the same rewrite and need the same headroom. KASAN reports this as: BUG: KASAN: slab-out-of-bounds in build_sec_desc+0x1e8a/0x2680 [cifs] Write of size 4 at addr ffff8881a5e25374 by task chown/5298 ... The buggy address is located 0 bytes to the right of allocated 884-byte region [ffff8881a5e25000, ffff8881a5e25374)

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS