CVE-2026-52944: ksmbd: fix FSCTL permission bypass by adding a permission check for FSCTL_SET_SPARSE

Published Jun 24, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

ksmbd: fix FSCTL permission bypass by adding a permission check for FSCTLSETSPARSE

FSCTLSETSPARSE in fsctlsetsparse() modifies the file's sparse attribute and saves it through xattr without any permission checks.

This exposes two issues:

1) A client on a read-only share can change the sparse attribute on files it opened, even though the share is read-only. Other FSCTL write operations already check testtreeconnflag(work->tcon, KSMBDTREECONNFLAGWRITABLE), but FSCTLSETSPARSE does not.

2) Even on writable shares, clients without FILEWRITEDATA or FILEWRITEATTRIBUTES access should not modify the sparse attribute. Similar handle-level checks exist in other functions but are missing here.

Add both share-level writable check and per-handle access check. Use goto out on error to avoid leaking file references.

Affected Software

10 affected componentsFixes available
Linux ksmbd (Linux kernel)
Microsoft azl3 kernel 6.6.141.1-1<6.6.143.1-1
6.6.143.1-1
Linux Linux kernel>=5.15<6.6.143
Linux Linux kernel>=6.7<6.18.35
Linux Linux kernel>=6.19<7.0.12
Linux Linux kernel=7.1-rc1
Linux Linux kernel=7.1-rc2
Linux Linux kernel=7.1-rc3
Linux Linux kernel=7.1-rc4
Linux Linux kernel=7.1-rc5

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 6.6.143.1-1
  2. Configuration

    Add a share-level writable check using test_tree_conn_flag(work->tcon, KSMBD_TREE_CONN_FLAG_WRITABLE) before allowing FSCTL_SET_SPARSE to modify the file's sparse attribute.

    ksmbd KSMBD_TREE_CONN_FLAG_WRITABLE (share-level writable check) = required for allowing FSCTL_SET_SPARSE to modify sparse attributes
  3. Configuration

    Add per-handle access permission checks for FSCTL_SET_SPARSE in fsctl_set_sparse(): require FILE_WRITE_DATA (and ensure FILE_WRITE_ATTRIBUTES does not allow changing/saving the sparse attribute) before modifying sparse attributes.

    ksmbd Per-handle access checks for FSCTL_SET_SPARSE = required
  4. Configuration

    Ensure fsctl_set_sparse() does not modify/save the sparse attribute when clients only have FILE_WRITE_ATTRIBUTES (no FILE_WRITE_DATA), and prevent sparse changes on read-only shares.

    ksmbd Sparse attribute modification permission logic = FSCTL_SET_SPARSE must enforce permission checks and must not allow sparse changes via only FILE_WRITE_ATTRIBUTES
  5. Compensating control

    Use goto out on error to avoid leaking file references while implementing the FSCTL_SET_SPARSE permission checks in fsctl_set_sparse().

Event History

Jun 24, 2026
CVE Published
via MITRE·09:59 AM
Data Sourced
via MITRE·09:59 AM
Description
Data Sourced
via NVD·10:17 AM
RemedyDescriptionSeverityAffected Software
Jun 27, 2026
Data Sourced
via Microsoft·08:18 AM
DescriptionSeverityWeaknessAffected Software
Updated
via Microsoft·08:18 AM
DescriptionSeverity
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-52944?

CVE-2026-52944 has been assessed with a risk score of 33.

2

How do I fix CVE-2026-52944?

To fix CVE-2026-52944, ensure that you update to the latest patched version of the Linux kernel that includes the fix for the FSCTL permission bypass.

3

What systems are affected by CVE-2026-52944?

CVE-2026-52944 affects systems running the Linux kernel with ksmbd functionality.

4

What is the nature of the vulnerability in CVE-2026-52944?

CVE-2026-52944 is a permission bypass vulnerability that allows unauthorized modification of a file's sparse attribute.

5

What does FSCTL_SET_SPARSE refer to in CVE-2026-52944?

In CVE-2026-52944, FSCTL_SET_SPARSE refers to a control code used to modify a file's sparse attribute without appropriate permission checks.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203