CVE-2026-89788

CVE-2026-89788

Critical · published September 16, 2026

CVSS v3.1
9.8
EPSS
1%
Percentile
50.6
In the wild
Unconfirmed
What it is

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

ksmbd: fix tree connection use-after-free in smb2_tree_connect()

ksmbd_tree_conn_connect() publishes a new tree connection in

sess->tree_conns with a single reference and returns its pointer to

smb2_tree_connect(). The handler continues to initialize the object and

build the response after publication. A concurrent session logoff can

erase the connection and drop that reference, freeing the object while

the handler still uses it.

BUG: KASAN: slab-use-after-free in smb2_tree_connect+0xe3d/0xf90

smb2_tree_connect (fs/smb/server/smb2pdu.c:2872)

handle_ksmbd_work

process_one_work

worker_thread

kthread

After xa_store() succeeds, take a second reference before releasing

tree_conns_lock. The original reference belongs to the xarray entry and

the second belongs to the creating smb2_tree_connect() handler.

Keep the references balanced in every path:

- On normal exit or an error after publication, smb2_tree_connect()

drops its creator reference. Error cleanup also calls

ksmbd_tree_conn_disconnect(), which drops the xarray reference only if

it removes the exact entry.

- SMB2 TREE_DISCONNECT uses the same helper to remove the entry and drop

its xarray reference. The request's existing lookup reference remains

owned by the request and is released by the existing cleanup.

- Session LOGOFF removes each entry and drops its xarray reference. If

it wins the race, later cleanup sees that the entry is gone and does

not drop that reference again.

To enforce this ownership, claim the disconnected state and erase the

exact entry atomically under tree_conns_lock. This guarantees one drop

for the xarray reference and one drop by each in-flight user, regardless

of which teardown path wins. If logoff removes the entry before

initialization completes, fail the connect instead of marking the

detached object TREE_CONNECTED.

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00652 · 50.6th percentile
Published
2026-09-16T13:17Z
References (4)
EPSS history
Timeline
  • 17 SEP 03:33Z
    EPSS moved — → 0%
    epss
  • 16 SEP 08:48Z
    ksmbd: fix tree connection use-after-free in smb2_tree_connect()
    cvelistv5