CVE-2023-53558
Description
A locking violation was found in the Linux kernel RCU-tasks subsystem's callback list initialization. During system boot, the initialization code calls pr_info() while holding the rtp->cbs_gbl_lock spinlock, causing a potentially sleeping function to be called in atomic context, which results in kernel lockdep warnings and potential deadlock leading to denial of service.
Statement
The issue arises because cblist_init_generic() calls pr_info() while holding the rtp->cbs_gbl_lock spinlock. The pr_info() function calls printk(), which may sleep because it acquires the console_lock and can block waiting for console output. Calling a potentially sleeping function while holding a spinlock violates kernel locking rules and can lead to deadlock. During RCU-tasks initialization at boot time, if lockdep is enabled, the kernel detects this violation and emits an "Invalid wait context" warning showing the problematic lock chain. While this primarily manifests as warnings with lockdep enabled, the underlying locking violation could lead to actual deadlocks in production systems under the right timing conditions.
Common Vulnerability Scoring System (CVSS) Score Details
Info alert:Important note
CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).
CVSS v3 Score Breakdown
| Red Hat | NVD | cve.org | |
|---|---|---|---|
| Base Score | 4.7 | 5.5 | N/A |
| Attack Vector | Local | Local | N/A |
| Attack Complexity | High | Low | N/A |
| Privileges Required | Low | Low | N/A |
| User Interaction | None | None | N/A |
| Scope | Unchanged | Unchanged | N/A |
| Confidentiality | None | None | N/A |
| Integrity Impact | None | None | N/A |
| Availability Impact | High | High | N/A |
Vector
Red Hat: CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
NVD: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Understanding the Weakness (CWE)
Availability
Technical Impact: DoS: Resource Consumption (CPU)
An unexpected call to blocking code can trigger an infinite loop, or a large loop that causes the software to pause and wait indefinitely.
Frequently Asked Questions
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.