← All Advisories
Reported from OT-Advisories.com as of

CVE-2026-90172

Last refreshed2026-10-19

Status: UPDATED  |  Advisory ID: CVE-2026-90172

Key Details

CVECVE-2026-90172
CVSS Score / Version
7.5 (High) / CVSS v3.1
Updated2026-10-19
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS Prose
attack vector is network; attack complexity is low; privileges required is none; user interaction is none; scope is unchanged; confidentiality impact is none; integrity impact is none; availability impact is high.
Affected products
Linux Kernel

Affected Products, Subsystems & Sectors

VendorProductAffected VersionsPatch Status
LinuxLinux Kernel
SubsystemsOT Supporting Infrastructure
SectorsAll Sectors

What to Know

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

smb: smbdirect: destroy QP before mem pools on accept failure

On the rdma_accept_failed error path of

smbdirect_accept_connect_request(), the receive io posted just above is

owned by the QP (recv_io is set to NULL after a successful post). The

error path fell through to smbdirect_connection_destroy_mem_pools()

before smbdirect_connection_destroy_qp(), so the mem pools and the

recv_io slab cache were destroyed while that recv_io was still

outstanding on the QP.

The drain in smbdirect_connection_destroy_qp() (ib_drain_qp()) is what

runs the recv completion that returns the recv_io to the free list, so

destroying the pools first leaves the object outstanding at

kmem_cache_destroy() time ("Slab cache still has objects") and later

frees it into an already-destroyed mempool (mempool_free_bulk

NULL-pointer dereference).

Give rdma_accept_failed its own teardown that drains the QP first, then

destroys the mem pools, and returns. The remaining labels

(post_recv_io_failed onward) run before the recv_io was ever posted, so

they keep the mem-pools-then-qp order.

The outstanding recv_io at kmem_cache_destroy() time:

[ 3487.344647] =============================================================================

[ 3487.349942] BUG smbdirect_recv_io_cache_ffff88811ba99000 (Not tainted): Objects remaining on __kmem_cache_shutdown()

[ 3487.356078] -----------------------------------------------------------------------------

[ 3487.356078]

[ 3487.356738] Object 0xffff8881511c3440 @offset=13376

[ 3487.358464] Allocated in mempool_alloc_noprof+0x18c/0x290 age=1194 cpu=6 pid=22254

[ 3487.361197] mempool_alloc_noprof+0x18c/0x290

[ 3487.361542] smbdirect_connection_create_mem_pools+0x405/0x780

[ 3487.361972] smbdirect_accept_connect_request+0x5a8/0x1b80

[ 3487.362359] smbdirect_listen_rdma_event_handler+0x1579/0x1b90

[ 3487.362779] cma_cm_event_handler+0x9c/0x230

[ 3487.363096] cma_ib_req_handler+0x2682/0x45d0

[ 3487.363414] cm_process_work+0x56/0x3d0

[ 3487.363676] cm_work_handler+0x8a0e/0xd000

[ 3487.367496] process_scheduled_works+0xa07/0x13a0

[ 3487.367859] worker_thread+0x7c9/0xc80

[ 3487.368148] kthread+0x341/0x430

[ 3487.368407] ret_from_fork+0x3a8/0x7a0

[ 3487.368704] ret_from_fork_asm+0x1a/0x30

[ 3487.370307] Slab 0xffffea0005447000 objects=19 used=1 fp=0xffff8881511c0040 flags=0x100000000000240(workingset|head|node=0|zone=2)

[ 3487.372840] ------------[ cut here ]------------

[ 3487.373195] WARNING: mm/slub.c:1244 at __slab_err+0x1a/0x30, CPU#6: kworker/6:84/22254

[ 3487.373759] Modules linked in:

[ 3487.373993] CPU: 6 UID: 0 PID: 22254 Comm: kworker/6:84 Tainted: G B 7.1.0-next-20260623+ #88 PREEMPT(lazy)

[ 3487.374778] Tainted: [B]=BAD_PAGE

[ 3487.377830] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.17.0-debian-1.17.0-1 04/01/2014

[ 3487.378515] Workqueue: ib_cm cm_work_handler

[ 3487.378820] RIP: 0010:__slab_err+0x1a/0x30

[ 3487.379129] Code: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 0f 1f 44 00 00 e8 36 00 00 00 bf 05 00 00 00 be 01 00 00 00 e8 f7 75 45 00 90 <0f> 0b 90 c3 cc cc cc cc cc 66 66 66 66 2e 0f 1f 84 00 00 00 00 00

[ 3487.383255] RSP: 0018:ffff888220fc7050 EFLAGS: 00010093

[ 3487.383643] RAX: ffffffff8168e60a RBX: ffff88810955e640 RCX: ffff88821c381d80

[ 3487.384158] RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffffffff870fa080

[ 3487.384662] RBP: ffff888220fc7068 R08: ffffffff870fa087 R09: 1ffffffff0e1f410

[ 3487.385192] R10: dffffc0000000000 R11: fffffbfff0e1f411 R12: ffffea0005447210

[ 3487.385674] R13: ffffea0005447000 R14: ffff888220fc7068 R15: ffff88812a8ab300

[ 3487.388932] FS: 0000000000000000(0000) GS:ffff888427e76000(0000) knlGS:0000000000000000

[ 3487.389529] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033

[ 3487.389934] CR2: 00007ffcf2d84fd8 CR3: 0000000111d64006 CR4: 0000000000f72ef0

[ 3487.390440] PKRU: 55555554

[ 3487.390641] Call Trace:

[ 3487.390826] <TASK>

[ 3

---truncated--- (NVD)

What to Do

Monitor Linux's web page for any future patch releases.

References

SourceReference
NVDhttps://nvd.nist.gov/vuln/detail/CVE-2026-90172
CVEhttps://www.cve.org/CVERecord?id=CVE-2026-90172
Report compilation © 2026 OT-Advisories.com  ·  CC BY 4.0  ·  Source materials remain the property of their respective publishers as cited.