CVE-2023-54293: bcache: fixup btree_cache_wait list damage
In the Linux kernel, the following vulnerability has been resolved:
bcache: fixup btree_cache_wait list damage
We get a kernel crash about "list_add corruption. next->prev should be
prev (ffff9c801bc01210), but was ffff9c77b688237c.
(next=ffffae586d8afe68)."
crash> struct list_head 0xffff9c801bc01210
struct list_head {
next = 0xffffae586d8afe68,
prev = 0xffffae586d8afe68
}
crash> struct list_head 0xffff9c77b688237c
struct list_head {
next = 0x0,
prev = 0x0
}
crash> struct list_head 0xffffae586d8afe68
struct list_head struct: invalid kernel virtual address: ffffae586d8afe68 type: "gdb_readmem_callback"
Cannot access memory at address 0xffffae586d8afe68
[230469.019492] Call Trace:
[230469.032041] prepare_to_wait+0x8a/0xb0
[230469.044363] ? bch_btree_keys_free+0x6c/0xc0 [escache]
[230469.056533] mca_cannibalize_lock+0x72/0x90 [escache]
[230469.068788] mca_alloc+0x2ae/0x450 [escache]
[230469.080790] bch_btree_node_get+0x136/0x2d0 [escache]
[230469.092681] bch_btree_check_thread+0x1e1/0x260 [escache]
[230469.104382] ? finish_wait+0x80/0x80
[230469.115884] ? bch_btree_check_recurse+0x1a0/0x1a0 [escache]
[230469.127259] kthread+0x112/0x130
[230469.138448] ? kthread_flush_work_fn+0x10/0x10
[230469.149477] ret_from_fork+0x35/0x40
bch_btree_check_thread() and bch_dirty_init_thread() may call
mca_cannibalize() to cannibalize other cached btree nodes. Only one thread
can do it at a time, so the op of other threads will be added to the
btree_cache_wait list.
We must call finish_wait() to remove op from btree_cache_wait before free
it's memory address. Otherwise, the list will be damaged. Also should call
bch_cannibalize_unlock() to release the btree_cache_alloc_lock and wake_up
other waiters.
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel bcache bug that can corrupt an internal wait list and crash the kernel. The public record describes reliability impact, not data theft or remote compromise. Business urgency depends on whether servers use bcache and whether listed affected kernel versions are deployed.
Executive priority
Schedule remediation in normal vulnerability maintenance, escalating for production systems using bcache where a kernel crash would affect availability. No source shows active exploitation or critical severity.
Technical view
The flaw is in bcache btree cache allocation handling. Threads waiting on btree_cache_wait could leave a wait entry on the list while freeing its memory, damaging list pointers. The fix removes the waiter with finish_wait() and releases/wakes waiters via bch_cannibalize_unlock().
Likely exposure
Exposure appears limited to Linux systems using bcache on affected kernels listed in the CVE bundle, including 5.7, 5.10.188, 5.15.121, 6.1.39, 6.4.4, and 6.5. Exact distribution package mapping is not provided.
Exploitation context
The bundle does not cite active exploitation, public exploit code, KEV listing, or remote attack conditions. Evidence points to a kernel crash scenario triggered in bcache internal thread paths. Treat exploitation status as unconfirmed.
Researcher notes
The public evidence is narrow: a resolved kernel bug and stable commit references. No CVSS, CWE, exploitability assessment, or distribution advisory details are included. Validate impact through kernel version, bcache usage, and vendor backport status.
Mitigation direction
Apply Linux kernel or distribution updates containing the referenced stable fixes.
Check vendor advisories for exact package names and fixed kernel builds.
Prioritize hosts where bcache is enabled for storage workloads.
Do not assume a workaround; none is named in the provided sources.
Validation and detection
Inventory Linux kernel versions across servers and appliances.
Identify systems with bcache configured or loaded.
Compare deployed kernels against vendor fixes and referenced stable commits.
Search logs for list_add corruption, bcache, or btree_cache_wait crash indicators.
Confirm patched hosts reboot into the corrected kernel.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2023-54293 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
6Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Dec 30, 2025, 12:23 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.