Linux Kernel: cifs.ko Heap Overflow in id_mode_to_cifs_acl (CVE-2026-97555)
A heap buffer overflow in the Linux kernel SMB client (cifs.ko) allows a malicious SMB server to trigger an out-of-bounds write during DACL reconstruction, potentially enabling privilege escalation to root.
CVE search metadata
CVE search record: CVE-2026-97555. Severity: high. CVSS: 8.8. EPSS: 0.53%. KEV: no. Product: cifs.ko (Linux kernel < patch 0ee150794c75). Brief: Linux Kernel: cifs.ko Heap Overflow in id_mode_to_cifs_acl (CVE-2026-97555). Brief link: https://feed.craftedsignal.io/briefs/2026-10-cifs-cve-2026-97555/
Triage facts
Revision 1- Applicability
- cifs.ko (Linux kernel < patch 0ee150794c75)
- Evidence
- Unknown
- Severity
- High
- Action
- Elevated
- Sources
- 2 public sources
- Freshness
- Revision 1Oct 29, 14:37 UTC
- Vulnerabilities
- 1 CVE
- Source quality
- C3Roughly even chance
A heap-based buffer overflow exists in the Linux kernel cifs.ko module, specifically within the id_mode_to_cifs_acl() function. The vulnerability occurs when the client attempts to rewrite Access Control Entries (ACEs) while replacing owner/group Security Identifiers (SIDs). An attacker-controlled SMB server can provide a specially crafted DACL that causes the rewritten security descriptor to grow larger than the pre-allocated kernel heap buffer. This results in an out-of-bounds write past the slab object. An exploit has been published demonstrating a full chain from memory corruption to a uid-0 shell on Android 16 GKI-based 6.12 kernels.
Attack Chain
- Share Setup - The attacker configures a malicious SMB2/3 server capable of providing custom DACL layouts (
cross7). - Mounting - The victim system mounts the attacker-controlled share using
cifsaclandmodefromsidmount options. - Trigger - The attacker initiates a
chownoperation on a file within the share, causing the kernel to callid_mode_to_cifs_acl(). - Overflow - The kernel calculates an allocation size that is insufficient for the rewritten DACL, resulting in a heap buffer overflow.
- Heap Grooming - The overflow overwrites adjacent kernel objects; the published exploit uses
pipe_bufferarrays to gain memory corruption primitives. - KASLR Leak - The overflow modifies a key payload, allowing the attacker to dump memory and calculate the KASLR slide.
- Privilege Escalation - The attacker reclaims page-table pages to write arbitrary PTEs, ultimately modifying the current task's
credstructure to escalate to uid 0.
Impact
Confirmed local privilege escalation to uid 0 (root) on reference environments (Android 16 GKI-based 6.12). The out-of-bounds write is observable by the malicious SMB server and can cause kernel panics on non-vulnerable or mismatched memory layouts.
Recommendation
- Apply the vendor-provided patch for
cifs.ko(upstream0ee150794c75, stablefb736ab4fb8c). - Restrict the ability of non-privileged users to mount SMB shares.
- Disable the
cifsaclandmodefromsidmount options on production systems unless explicitly required and validated against trusted infrastructure. - Monitor kernel dmesg logs for unexpected panics occurring during SMB share access.
Immediate actions
Patch kernel components utilizing cifs.ko to the commit hash 0ee150794c75 or newer
Threat Hunt
Identify systems mounting SMB shares with cifsacl/modefromsid options
Data: mount output, proc/mounts