CVE-2026-31580CWE-416

CVE-2026-31580

High · published April 24, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
2.5
In the wild
Unconfirmed
What it is

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

bcache: fix cached_dev.sb_bio use-after-free and crash

In our production environment, we have received multiple crash reports

regarding libceph, which have caught our attention:

```

[6888366.280350] Call Trace:

[6888366.280452] blk_update_request+0x14e/0x370

[6888366.280561] blk_mq_end_request+0x1a/0x130

[6888366.280671] rbd_img_handle_request+0x1a0/0x1b0 [rbd]

[6888366.280792] rbd_obj_handle_request+0x32/0x40 [rbd]

[6888366.280903] __complete_request+0x22/0x70 [libceph]

[6888366.281032] osd_dispatch+0x15e/0xb40 [libceph]

[6888366.281164] ? inet_recvmsg+0x5b/0xd0

[6888366.281272] ? ceph_tcp_recvmsg+0x6f/0xa0 [libceph]

[6888366.281405] ceph_con_process_message+0x79/0x140 [libceph]

[6888366.281534] ceph_con_v1_try_read+0x5d7/0xf30 [libceph]

[6888366.281661] ceph_con_workfn+0x329/0x680 [libceph]

```

After analyzing the coredump file, we found that the address of

dc->sb_bio has been freed. We know that cached_dev is only freed when it

is stopped.

Since sb_bio is a part of struct cached_dev, rather than an alloc every

time. If the device is stopped while writing to the superblock, the

released address will be accessed at endio.

This patch hopes to wait for sb_write to complete in cached_dev_free.

It should be noted that we analyzed the cause of the problem, then tell

all details to the QWEN and adopted the modifications it made.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00131 · 2.5th percentile
Weakness
CWE-416 · Use After Free
Published
2026-04-24T19:16Z
Affected products (5)
ProductVersionsFixed in
linux/linux_kernel< 6.6.1366.6.136
linux/linux_kernel≥ 6.12, < 6.12.836.12.83
linux/linux_kernel≥ 6.13, < 6.18.246.18.24
linux/linux_kernel≥ 6.19, < 6.19.146.19.14
linux/linux_kernel≥ 7.0, < 7.0.17.0.1
References (10)
EPSS history
Timeline
  • 24 APR 14:42Z
    bcache: fix cached_dev.sb_bio use-after-free and crash
    cvelistv5