CVE-2026-90167: ksmbd: serialize oplock close with pending break ownership

Published Sep 17, 2026
·
Updated

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

ksmbd: serialize oplock close with pending break ownership

close may abort an in-flight oplock break while another breaker already holds an opinfo reference. Releasing pendingbreak wakes that waiter, but without serializing the close transition with bit acquisition it can become a new break owner through the testandsetbit() fast path. It can then overwrite OPLOCKCLOSING with OPLOCKACKWAIT and continue a break for a dying opinfo.

Make OPLOCKCLOSING terminal once the opinfo is removed from the inode list. Serialize that transition, pendingbreak acquisition, and OPLOCKACKWAIT setup with an opinfo state lock. A breaker which loses the race releases its ownership and returns -ENOENT. Explicitly wake pendingbreak waiters during close so they can observe the terminal state.

Also prevent ACK and timeout paths from replacing OPLOCKCLOSING with OPLOCKSTATENONE.

Affected Software

1 affected component
Linux Linux kernel

Event History

Sep 17, 2026
CVE Published
via MITRE·04:06 PM
Data Sourced
via MITRE·04:06 PM
Description

Frequently Asked Questions

1

Which systems are exposed to this issue?

Systems using the Linux kernel's ksmbd component are the relevant population. The issue involves races between oplock close handling and pending oplock-break processing.

2

What conditions are needed to trigger the race?

An oplock close must overlap with an in-flight oplock break while another breaker holds an opinfo reference. The problematic path occurs when a waiter is awakened after pending_break is released and obtains break ownership during the close transition.

3

What is the result of the corrected behavior when close races with a breaker?

The close state is terminal after the opinfo is removed from the inode list. A breaker that loses the race releases its ownership and returns -ENOENT, and ACK and timeout paths cannot replace the closing state.

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