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().
CVSS Details
- CVSS 3.1 Base Score: 8.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux-6.12Upgrade linux-6.1Upgrade linux | Jul 28, 2026 | Jul 28, 2026 |
| Ubuntu | — | Upgrade linux-image-gke-64k-7.0Upgrade linux-image-nvidia-bos-64k-7.0Upgrade linux-image-7.0.0-1006-gkeUpgrade linux-image-7.0.0-2018-nvidia-bosUpgrade linux-image-ibm-7.0Upgrade linux-image-raspiUpgrade linux-image-genericUpgrade linux-image-generic-64kUpgrade linux-image-nvidia-tegraUpgrade linux-image-nvidia-bos-64kUpgrade linux-image-7.0.0-1018-nvidiaUpgrade linux-image-ibmUpgrade linux-image-7.0.0-31-realtime-64kUpgrade linux-image-gcp-7.0Upgrade linux-image-oem-26.04bUpgrade linux-image-7.0.0-1011-gcp-64kUpgrade linux-image-7.0.0-31-genericUpgrade linux-image-nvidia-64kUpgrade linux-image-7.0.0-2018-nvidia-bos-64kUpgrade linux-image-virtual-hwe-26.04Upgrade linux-image-gke-64kUpgrade linux-image-6.8.0-1035-nvidia-tegraUpgrade linux-image-nvidiaUpgrade linux-image-nvidia-bos-7.0Upgrade linux-image-7.0.0-31-realtimeUpgrade linux-image-gcpUpgrade linux-image-oem-26.04Upgrade linux-image-raspi-realtimeUpgrade linux-image-7.0.0-1011-gcpUpgrade linux-image-7.0.0-1012-aws-64kUpgrade linux-image-7.0.0-1013-ibmUpgrade linux-image-nvidia-7.0Upgrade linux-image-nvidia-64k-7.0Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-aws-64k-7.0Upgrade linux-image-gkeUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-7.0.0-1019-raspi-realtimeUpgrade linux-image-gke-hwe-26.04Upgrade linux-image-raspi-realtime-7.0Upgrade linux-image-7.0.0-1019-raspiUpgrade linux-image-nvidia-bosUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-oem-26.04aUpgrade linux-image-virtual-7.0Upgrade linux-image-generic-64k-7.0Upgrade linux-image-realtime-64k-7.0Upgrade linux-image-gcp-64k-7.0Upgrade linux-image-gke-7.0Upgrade linux-image-virtualUpgrade linux-image-7.0.0-1012-awsUpgrade linux-image-oem-7.0Upgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-1035-nvidia-tegra-rtUpgrade linux-image-realtimeUpgrade linux-image-generic-hwe-26.04Upgrade linux-image-generic-64k-hwe-26.04Upgrade linux-image-aws-64kUpgrade linux-image-7.0.0-31-generic-64kUpgrade linux-image-7.0.0-1018-nvidia-64kUpgrade linux-image-7.0.0-1013-oemUpgrade linux-image-aws-7.0Upgrade linux-image-realtime-7.0Upgrade linux-image-realtime-64kUpgrade linux-image-gcp-64kUpgrade linux-image-awsUpgrade linux-image-raspi-7.0Upgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-realtime-64k-hwe-26.04Upgrade linux-image-generic-7.0Upgrade linux-image-realtime-hwe-26.04Upgrade linux-image-nvidia-hwe-26.04Upgrade linux-image-nvidia-64k-hwe-26.04Upgrade linux-image-7.0.0-1006-gke-64kUpgrade linux-image-gke-64k-hwe-26.04 | Sep 14, 2026 | Sep 7, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jul 31, 2026 | Jul 25, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub