bcache: fix cached_dev.sb_bio use-after-free and crash
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.
CVE-2026-31580
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2026-31580
Linux
Source reference: /containers/cna/affected/0/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Linux
Source reference: /containers/cna/affected/1/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "cafe563591446cf80bfbc2fe3bc72a2e36cf1060",
"lessThan": "81f44ed8c3f54abb7561ece774ea4cca5070b2f2",
"versionType": "git"
},
{
"status": "affected",
"version": "cafe563591446cf80bfbc2fe3bc72a2e36cf1060",
"lessThan": "f50e7c325ab1207fe941555bcff659f6d7050572",
"versionType": "git"
},
{
"status": "affected",
"version": "cafe563591446cf80bfbc2fe3bc72a2e36cf1060",
"lessThan": "9467d360be70e6ee55b0c1cd2a1f1424f57b5b85",
"versionType": "git"
},
{
"status": "affected",
"version": "cafe563591446cf80bfbc2fe3bc72a2e36cf1060",
"lessThan": "47fa09fe7f3e09df28a51cb2cbd8f5d2f7f6edc1",
"versionType": "git"
},
{
"status": "affected",
"version": "cafe563591446cf80bfbc2fe3bc72a2e36cf1060",
"lessThan": "add4982510f3b7c318a2dd7438bdc9c63171e753",
"versionType": "git"
},
{
"status": "affected",
"version": "cafe563591446cf80bfbc2fe3bc72a2e36cf1060",
"lessThan": "2d6965581e164fa2ba3f7652ddae5535f6336576",
"versionType": "git"
},
{
"status": "affected",
"version": "cafe563591446cf80bfbc2fe3bc72a2e36cf1060",
"lessThan": "4f71c8ba2dc009042493021d94a9718fbe2ebf27",
"versionType": "git"
},
{
"status": "affected",
"version": "cafe563591446cf80bfbc2fe3bc72a2e36cf1060",
"lessThan": "383f7fec0de8cee1cf7ae1f9d9f14044a61f10f9",
"versionType": "git"
},
{
"status": "affected",
"version": "cafe563591446cf80bfbc2fe3bc72a2e36cf1060",
"lessThan": "fec114a98b8735ee89c75216c45a78e28be0f128",
"versionType": "git"
}
],
"programFiles": [
"drivers/md/bcache/super.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "3.10"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "3.10",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "5.10.258",
"versionType": "semver",
"lessThanOrEqual": "5.10.*"
},
{
"status": "unaffected",
"version": "5.15.209",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.175",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.136",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.83",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.24",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "6.19.14",
"versionType": "semver",
"lessThanOrEqual": "6.19.*"
},
{
"status": "unaffected",
"version": "7.0.1",
"versionType": "semver",
"lessThanOrEqual": "7.0.*"
},
{
"status": "unaffected",
"version": "7.1",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"drivers/md/bcache/super.c"
],
"defaultStatus": "affected"
}
]- Related CVEs
- CVE-2026-31580
Source reference:
/cveMetadata/cveId
Publisher severity
No explicit severity was provided.
- Event
- #28295 · Revision 1
- Added to Heist Feed
- Publisher date