CVE-2023-54096
Description
A flaw was found in the Linux kernel's soundwire subsystem. The code responsible for managing device enumeration completion, which allows drivers to synchronize with soundwire devices, contains a defect. This issue can lead to memory corruption if drivers are still waiting for completion, as the system fails to signal all processes and uses an incorrect reinitialization function.
Statement
A moderate-impact flaw was found in the Linux kernel soundwire subsystem as shipped in Red Hat Enterprise Linux 8 and Red Hat Enterprise Linux 9. The signalling code in drivers/soundwire/bus.c that lets drivers wait for a soundwire device to become enumerated on the bus and initialised does not signal all current and future waiters, and it reinitialises the completion structures with the wrong function. If drivers are still waiting on the completion queue when the structure is reinitialised, kernel memory can be corrupted, affecting integrity and availability but not confidentiality (Red Hat CVSS 6.1, CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H). The missing signalling also breaks sound card probe deferrals, because codec drivers cannot tell that a soundwire device is already attached when being reprobed, and can cause codec runtime PM resume paths to time out despite the device already being enumerated. Exploitation requires local access and specific timing of soundwire device enumeration, so practical exposure is limited to systems using soundwire-attached audio devices. Red Hat Enterprise Linux 6, 7, 8.2, 8.10, 9.4 and later, 10, and Red Hat In-Vehicle OS ship kernels in which the vulnerable code is not present and are therefore not affected. The affected RHEL 8 (8.4, 8.6, 8.8) and RHEL 9 (9.0, 9.2) kernel and kernel-rt z-streams have a deferred fix: because the flaw is rated moderate severity and triggering it requires local access and a narrow soundwire enumeration race, a fix is not currently scheduled for those older z-streams and may be considered in a future update. Until a fixed kernel is delivered on those streams, the residual risk is potential kernel memory corruption on systems using soundwire devices. The CVE.org severity of 7.8 (High) is higher than the Red Hat rating of moderate because Red Hat's scoring reflects no confidentiality impact and the constrained local conditions required to trigger the issue.
Mitigation
Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability.
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 | 6.1 | N/A | 7.8 |
| Attack Vector | Local | N/A | Local |
| Attack Complexity | Low | N/A | Low |
| Privileges Required | Low | N/A | Low |
| User Interaction | None | N/A | None |
| Scope | Unchanged | N/A | Unchanged |
| Confidentiality | None | N/A | High |
| Integrity Impact | Low | N/A | High |
| Availability Impact | High | N/A | High |
Vector
Red Hat: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H
cve.org: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Understanding the Weakness (CWE)
Integrity,Confidentiality,Other
Technical Impact: Modify Application Data; Read Application Data; Alter Execution Logic
Frequently Asked Questions
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.