CVE Catalog

CVE-2026-90167

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel's ksmbd module, close may abort an in-flight oplock break while another breaker already holds an opinfo reference. Without serializing the close transition with bit acquisition, close can become a new break owner through the test_and_set_bit() fast path and overwrite OPLOCK_CLOSING with OPLOCK_ACK_WAIT, continuing a break for a dying opinfo.

Risk Assessment

Unserialized oplock state operations can lead to races and use-after-free, causing kernel crashes or inconsistent file lock state. SMB servers running ksmbd are exposed to destabilization.

Recommendation

Update the Linux kernel to a version containing the fix that serializes oplock close with break ownership acquisition. After updating, test oplock scenarios in a production-like environment.

Other vulnerabilities in Linux kernel (ksmbd)

See all
Original NVD description (English source)

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 pending_break wakes that waiter, but without serializing the close transition with bit acquisition it can become a new break owner through the test_and_set_bit() fast path. It can then overwrite OPLOCK_CLOSING with OPLOCK_ACK_WAIT and continue a break for a dying opinfo. Make OPLOCK_CLOSING terminal once the opinfo is removed from the inode list. Serialize that transition, pending_break acquisition, and OPLOCK_ACK_WAIT setup with an opinfo state lock. A breaker which loses the race releases its ownership and returns -ENOENT. Explicitly wake pending_break waiters during close so they can observe the terminal state. Also prevent ACK and timeout paths from replacing OPLOCK_CLOSING with OPLOCK_STATE_NONE.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS