CVE-2026-43480
Description
In the Linux kernel, the following vulnerability has been resolved:
ASoC: amd: acp3x-rt5682-max9836: Add missing error check for clock acquisition
The acp3x_5682_init() function did not check the return value of clk_get(), which could lead to dereferencing error pointers in rt5682_clk_enable().
Fix this by: 1. Changing clk_get() to the device-managed devm_clk_get(). 2. Adding proper IS_ERR() checks for both clock acquisitions.
Affected products
1Patches
833de168afdd52dc43ac8da7b092522621901790851ecc98353f3a900e9a34d802f23fcbf35c7624d30cb2b0c4a399c8dVulnerability mechanics
Root cause
"Missing error check for clk_get() return value in acp3x_5682_init() allows dereferencing an error pointer in rt5682_clk_enable()."
Attack vector
An attacker would need to cause clk_get() to fail (e.g., by removing or disabling the relevant clock device in the system) before the ASoC card initialization completes. When the system subsequently attempts to enable the clock via rt5682_clk_enable(), the unchecked error pointer from clk_get() is dereferenced, leading to a kernel crash or memory corruption. This is a local denial-of-service triggerable through clock subsystem manipulation on a system using the acp3x-rt5682-max9836 audio driver.
Affected code
The vulnerability is in the acp3x_5682_init() function within the ASoC AMD acp3x-rt5682-max9836 driver. The function calls clk_get() to acquire two clocks but does not check the return value for errors. The unchecked pointer is later passed to rt5682_clk_enable(), which dereferences it without validation.
What the fix does
The patch replaces clk_get() with devm_clk_get() so that clock resources are automatically managed and adds IS_ERR() checks after each clock acquisition. If devm_clk_get() returns an error pointer, the function now returns the error via PTR_ERR() instead of proceeding with an invalid clock reference. This prevents rt5682_clk_enable() from ever receiving an error pointer, closing the null/error-pointer dereference vulnerability.
Preconditions
- inputThe attacker must be able to cause clk_get() to fail, e.g., by manipulating the clock subsystem (removing/disabling the clock device).
- authLocal access is required to trigger the clock subsystem manipulation.
Generated on May 19, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
8- git.kernel.org/stable/c/092522621901b5e6af61db04a53f5b313903c6d0nvd
- git.kernel.org/stable/c/2b0c4a399c8d27f20ecf17dda76751141d6dbb59nvd
- git.kernel.org/stable/c/2dc43ac8da7b2bebc5a51a3d86a6275d78f27cffnvd
- git.kernel.org/stable/c/33de168afdd57265a0e0c20dbd3648a2d8f7cdc4nvd
- git.kernel.org/stable/c/35c7624d30cb45ec336cd16ce072acc32ae351cbnvd
- git.kernel.org/stable/c/4d802f23fcbfec05134653fd001f6c7c3fd55196nvd
- git.kernel.org/stable/c/53f3a900e9a383d47af7253076e19f510c5708d0nvd
- git.kernel.org/stable/c/790851ecc983c719fa2e6adb17b02f3acc1d217dnvd
News mentions
0No linked articles in our index yet.