Bug 2492712 (CVE-2026-53271) - CVE-2026-53271 kernel: ksmbd: fix NULL-deref of opinfo->conn in oplock/lease break notifiers
Summary: CVE-2026-53271 kernel: ksmbd: fix NULL-deref of opinfo->conn in oplock/lease ...
Keywords:
Status: NEW
Alias: CVE-2026-53271
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-06-25 10:01 UTC by OSIDB Bzimport
Modified: 2026-06-26 09:53 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-06-25 10:01:50 UTC
In the Linux kernel, the following vulnerability has been resolved:

ksmbd: fix NULL-deref of opinfo->conn in oplock/lease break notifiers

smb2_oplock_break_noti() and smb2_lease_break_noti() read opinfo->conn
into a local with neither READ_ONCE() nor a NULL check.  Both run from
oplock_break() after opinfo_get_list() has dropped ci->m_lock, so a
concurrent SMB2 LOGOFF (session_fd_check()) can set op->conn = NULL
under ci->m_lock within that window.  ksmbd_conn_r_count_inc(conn) then
writes through NULL at offset 0xc4 -- a remotely triggerable oops.

Guard both reads the way compare_guid_key() already does: read
opinfo->conn with READ_ONCE() and return early if it is NULL, before
allocating the work struct so nothing leaks.  A NULL conn means the
client is gone and the break is moot, so return 0; oplock_break() treats
that as success and runs the normal teardown.

Comment 1 Mauro Matteo Cascella 2026-06-26 09:49:03 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2026062518-CVE-2026-53271-711f@gregkh/T


Note You need to log in before you can comment on or make changes to this bug.