Get a Demo

Let's Patch It!

Book a short call with one our specialists, we'll walk you through how Endor Patches work, and ask you a few questions about your environment (like your primary programming languages and repository management). We'll also send you an email right after you fill out the form, feel free to reply with any questions you have in advance!

CVE

DEBIAN-CVE-2026-31444

In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix use-after-free and NULL deref in smb_grant_oplock() smb_grant_oplock() has two issues in the oplock publication sequenc...
Back to all
CVE

DEBIAN-CVE-2026-31444

In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix use-after-free and NULL deref in smb_grant_oplock() smb_grant_oplock() has two issues in the oplock publication sequenc...

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 lease_table and changing its return type from int to void, since it can no longer fail.

Package Versions Affected

Package Version
patch Availability
No items found.

Automatically patch vulnerabilities without upgrading

Fix Without Upgrading
Detect compatible fix
Apply safe remediation
Fix with a single pull request

CVSS Version

Severity
Base Score
CVSS Version
Score Vector
C
H
U
-
C
H
U
0
-
3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
C
H
U
-

Related Resources

No items found.

References

https://security-tracker.debian.org/tracker/CVE-2026-31444

Severity

9.8

CVSS Score
0
10

Basic Information

Ecosystem
Base CVSS
9.8
EPSS Probability
0%
EPSS Percentile
0%
Introduced Version
0
Fix Available
6.19.11-1

Fix Critical Vulnerabilities Instantly

Secure your app without upgrading.
Fix Without Upgrading