CVE-2023-53210: md/raid5-cache: fix null-ptr-deref for r5l_flush_stripe_to_raid()
In the Linux kernel, the following vulnerability has been resolved:
md/raid5-cache: fix null-ptr-deref for r5l_flush_stripe_to_raid()
r5l_flush_stripe_to_raid() will check if the list 'flushing_ios' is
empty, and then submit 'flush_bio', however, r5l_log_flush_endio()
is clearing the list first and then clear the bio, which will cause
null-ptr-deref:
T1: submit flush io
raid5d
handle_active_stripes
r5l_flush_stripe_to_raid
// list is empty
// add 'io_end_ios' to the list
bio_init
submit_bio
// io1
T2: io1 is done
r5l_log_flush_endio
list_splice_tail_init
// clear the list
T3: submit new flush io
...
r5l_flush_stripe_to_raid
// list is empty
// add 'io_end_ios' to the list
bio_init
bio_uninit
// clear bio->bi_blkg
submit_bio
// null-ptr-deref
Fix this problem by clearing bio before clearing the list in
r5l_log_flush_endio().
Security readout for executives and security teams
Plain-English summary
CVE-2023-53210 is a Linux kernel denial-of-service flaw in the md RAID5 cache path. A local low-privileged attacker may be able to trigger a null pointer dereference, causing high availability impact. It is not described as data theft or remote code execution in the provided sources.
Executive priority
Treat as a routine but important availability patch. Prioritize shared, storage-heavy, and multi-user Linux systems where a local crash could disrupt business services. No provided evidence supports emergency internet-wide exploitation.
Technical view
The flaw is CWE-476 in md/raid5-cache. A race between r5l_flush_stripe_to_raid() and r5l_log_flush_endio() can clear flushing_ios and uninitialize flush_bio in an unsafe order, leading to null-pointer dereference during a later submit_bio(). Kernel stable commits change the cleanup order.
Likely exposure
Exposure is most relevant to Linux systems using affected kernel builds with md RAID5 cache functionality. The source lists Linux kernel version markers including 5.18, 6.1.53, 6.4.16, 6.5.3, and 6.6, but downstream vendor package mapping must be verified.
Exploitation context
The CVSS vector is local, low complexity, low privileges, no user interaction, with high availability impact. The source bundle marks KEV as false, and no provided source states active exploitation.
Researcher notes
The evidence supports a race-condition null pointer dereference in RAID5 cache flush handling. The fix direction is clearing the bio before clearing the list in r5l_log_flush_endio(). Public sources here do not provide exploit maturity or downstream distro package names.
Mitigation direction
Check Linux distribution advisories for CVE-2023-53210 kernel package status.
Update to a vendor kernel containing the referenced stable fix commits.
Prioritize systems using md RAID5 cache or exposed multi-user Linux hosts.
Use normal kernel rollout controls, including backup and reboot planning.
Validation and detection
Inventory Linux kernel versions and distribution package revisions.
Identify hosts using md RAID5 and RAID5 cache features.
Confirm whether vendor kernels include the referenced stable commits.
Monitor for kernel oops or panic events involving raid5-cache paths.
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.
cwe · low confidence lookup
CWE-476: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
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.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-476 · source CWE mapping
NULL Pointer Dereference
NULL Pointer Dereference represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.