CVE-2026-64394·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: ksmbd: add a WRITE_DAC/WRITE_OWNER check to SMB2 SET_INFO SECURITY commit cc57232cae23 ("ksmbd: fix FSCTL permission bypass by adding a permission check for FSCTL_SET_SPARSE") added a fp->daccess gate to fsctl_set_sparse and noted that "similar handle-level checks exist in other functions but are missing here." The SMB2 SET_INFO SECURITY arm is one of the missing ones, and the most security-relevant: smb2_set_info_sec() calls set_info_sec() with no per-handle access check. set_info_sec() (fs/smb/server/smbacl.c) re-permissions the file: it rewrites owner/group/mode via notify_change(), rewrites the POSIX ACL via set_posix_acl(), and on KSMBD_SHARE_FLAG_ACL_XATTR shares removes and rewrites the Windows security descriptor via ksmbd_vfs_set_sd_xattr(). Every other persistent-mutation arm of the sibling handler smb2_set_info_file() checks fp->daccess first (FILE_WRITE_DATA / FILE_DELETE / FILE_WRITE_EA / FILE_WRITE_ATTRIBUTES); the SECURITY arm — which mutates the access control itself — is the only one with no gate. A client can therefore open a handle with FILE_WRITE_ATTRIBUTES only (no FILE_WRITE_DAC / FILE_WRITE_OWNER) and use SMB2_SET_INFO with InfoType SMB2_O_INFO_SECURITY to rewrite the file's DACL and owner, granting itself access the handle's daccess never carried. Unlike the FSCTL data arms this is a metadata/xattr operation, so there is no FMODE_WRITE VFS backstop — the missing fp->daccess check is the entire gate. Setting a security descriptor is the WRITE_DAC / WRITE_OWNER operation, so require at least one of those on the handle before re-permissioning the file. -EACCES is mapped to STATUS_ACCESS_DENIED by smb2_set_info().
- Severity
- high
- Software
- Kernel
- Fixed in
- 7.1.4
- Published
- 2026-07-25
Affected versions
From: 6.19
Until: 7.1.4
Fixed in: 7.1.4
How to fix this CVE
Update your Linux kernel to version 7.1.4 or later to patch a privilege escalation vulnerability in the KSMBD SMB server that allows attackers to bypass access control checks and modify file security descriptors. Systems running kernel versions 6.19 through 7.1.3 should prioritize this update, as the flaw enables unauthorized elevation of file permissions through SMB2 SET_INFO SECURITY operations without proper WRITE_DAC/WRITE_OWNER handle validation.
sudo dnf update kernel kernel-coreDefensia detects this vulnerability
How to check if you are affected
- Check your kernel version: uname -r — verify if it falls within 6.19 to 7.1.3 range
- List KSMBD-related modules: lsmod | grep ksmbd — confirm if SMB server is actively loaded
- Check for SMB shares: smbstatus or grep -i 'smb' /etc/samba/smb.conf — identify exposed shares
- Verify kernel patch level: grep -i 'CVE-2026-64394' /proc/version or check kernel commit history via git log --oneline | grep -E 'WRITE_DAC|WRITE_OWNER'
FAQ
What is CVE-2026-64394?
This is a privilege escalation vulnerability in the Linux kernel's KSMBD SMB server that bypasses access control checks, allowing a client with limited file handle permissions (FILE_WRITE_ATTRIBUTES only) to modify security descriptors and DACL settings, effectively granting itself elevated access.
Is CVE-2026-64394 being actively exploited?
No — this vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog and no public exploits are currently available, though the flaw is high-severity and straightforward to exploit by a local or network attacker with SMB access.
What versions of Kernel are affected by CVE-2026-64394?
Linux kernel versions 6.19 through 7.1.3 are vulnerable; kernel 7.1.4 and later versions contain the fix.
How do I check if my server is vulnerable to CVE-2026-64394?
Run 'uname -r' to check your kernel version — if it returns 6.19.x through 7.1.3, your system is vulnerable; additionally, run 'lsmod | grep ksmbd' to confirm if KSMBD SMB server is loaded and active.
Does Defensia detect CVE-2026-64394?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2026-64394 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/0848b1d8b403f530878195dcbe241a2fddb9d0e1
- https://git.kernel.org/stable/c/44df157a1183a7f746caa970c169255da5ac61f8
- https://git.kernel.org/stable/c/9ab2ffd3ed3d4ca1667c52de27026ddabc11e537
- https://git.kernel.org/stable/c/aae600cdaffc6d9ce97645f129799a103a97d06d
- https://git.kernel.org/stable/c/e6aa731f1b4b3e08caebf66a99f04b22bdab2e99
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2026-64394. Free for 1 server.
Get started free