CVE-2023-53421
kernel: blk-cgroup: Reinit blkg_iostat_set after clearing in blkcg_reset_stats()
Severity
ModerateRed Hat Product Security
CVSS 3.1
Review impact separately from score.
Published · September 18, 2025
Updated · June 30, 2026
Description
In the Linux kernel, the following vulnerability has been resolved:
blk-cgroup: Reinit blkg_iostat_set after clearing in blkcg_reset_stats()
When blkg_alloc() is called to allocate a blkcg_gq structure with the associated blkg_iostat_set's, there are 2 fields within blkg_iostat_set that requires proper initialization - blkg & sync. The former field was introduced by commit 3b8cc6298724 ("blk-cgroup: Optimize blkcg_rstat_flush()") while the later one was introduced by commit f73316482977 ("blk-cgroup: reimplement basic IO stats using cgroup rstat").
Unfortunately those fields in the blkg_iostat_set's are not properly re-initialized when they are cleared in v1's blkcg_reset_stats(). This can lead to a kernel panic due to NULL pointer access of the blkg pointer. The missing initialization of sync is less problematic and can be a problem in a debug kernel due to missing lockdep initialization.
Fix these problems by re-initializing them after memory clearing.
Statement
The bug stems from clearing per-CPU blkg_iostat_set structures in blkcg_reset_stats() without re-initializing required fields (blkg pointer and sync stats), leading to a possible NULL dereference and kernel panic when stats are accessed later. Triggering this requires privileged access to the blk-cgroup interface (e.g., resetting stats), so it’s not remotely exploitable. Impact is a local DoS.
CVSS score applicability
The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.
Mitigation
No mitigation is specified in collected source.
CVSS / CWE
CVSS 3.1 · 4.4CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H
CWE-476 · NULL Pointer Dereference