CVE-2026-31444: ksmbd: fix use-after-free and NULL deref in smb_grant_oplock()

Published Apr 22, 2026
·
Updated

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

ksmbd: fix use-after-free and NULL deref in smbgrantoplock()

smbgrantoplock() has two issues in the oplock publication sequence:

1) opinfo is linked into ci->moplist (via opinfoadd) before addleasegloballist() is called. If addleasegloballist() fails (kmalloc returns NULL), the error path frees the opinfo via freeopinfo() while it is still linked in ci->moplist. Concurrent moplist readers (opinfogetlist, or direct iteration in smbbreakalllevIIoplock) dereference the freed node.

2) opinfo->ofp is assigned after addleasegloballist() publishes the opinfo on the global lease list. A concurrent findsameleasekey() can walk the lease list and dereference opinfo->ofp->fci while ofp is still NULL.

Fix by restructuring the publication sequence to eliminate post-publish failure:

- Set opinfo->ofp before any list publication (fixes NULL deref). - Preallocate leasetable via allocleasetable() before opinfoadd() so addleasegloballist() becomes infallible after publication. - Keep the original moplist publication order (opinfoadd before lease list) so concurrent opens via sameclienthaslease() and opinfogetlist() still see the in-flight grant. - Use opinfoput() instead of freeopinfo() on errout so that the RCU-deferred free path is used.

This also requires splitting addleasegloballist() to take a preallocated leasetable and changing its return type from int to void, since it can no longer fail.

Affected Software

8 affected componentsFixes available
The Linux Foundation ksmbd (Linux kernel)
Microsoft azl3 kernel 6.6.130.1-3
Linux Linux kernel>=6.12.78<6.12.80
Linux Linux kernel>=6.18.19<6.18.21
Linux Linux kernel>=6.19.9<6.19.11
Linux Linux kernel=6.6.130
Linux Linux kernel=7.0-rc4
Linux Linux kernel=7.0-rc5

Event History

Apr 22, 2026
CVE Published
via MITRE·01:53 PM
Data Sourced
via MITRE·01:53 PM
DescriptionSeverity
Data Sourced
via NVD·02:16 PM
RemedyDescriptionSeverityWeaknessAffected Software
Apr 23, 2026
Data Sourced
via Microsoft·08:08 AM
DescriptionSeverityWeakness
Data Sourced
via Microsoft·08:08 AM
Affected Software
Updated
via Microsoft·08:08 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-31444?

CVE-2026-31444 is rated as a critical vulnerability due to its potential to cause use-after-free and NULL dereference issues in the Linux kernel.

2

How do I fix CVE-2026-31444?

To mitigate CVE-2026-31444, update to the latest version of ksmbd in the Linux kernel that resolves the use-after-free and NULL deref vulnerabilities.

3

What systems are affected by CVE-2026-31444?

CVE-2026-31444 primarily affects the ksmbd component in the Linux kernel, specifically impacting systems running versions prior to the patch.

4

What are the consequences of exploiting CVE-2026-31444?

Exploitation of CVE-2026-31444 may allow an attacker to cause a denial of service or potentially execute arbitrary code on the affected system.

5

Who is responsible for addressing CVE-2026-31444?

The responsibility for addressing CVE-2026-31444 lies with system administrators and vendors who maintain the affected Linux kernel versions.

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