CVE-2026-31475
Double Free Vulnerability in Linux Kernel ASoC sma1307 Memory Management
Publication date: 2026-04-22
Last updated on: 2026-04-27
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | 6.15 |
| linux | linux_kernel | From 6.14.9 (inc) to 6.15 (exc) |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | From 6.19 (inc) to 6.19.11 (exc) |
| linux | linux_kernel | From 6.15.1 (inc) to 6.18.21 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-415 | The product calls free() twice on the same memory address. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability is a double free issue in the Linux kernel's ASoC sma1307 driver. Specifically, memory allocated with devm_kzalloc() for mode_set entries was incorrectly freed manually using kfree() in an error path. Since devm_kzalloc() allocates device-managed resources that are automatically freed later, manually freeing them causes a double free when the device resource management (devres) tries to release the same memory again.
The fix involved removing the manual kfree() calls and allowing devres to handle the cleanup properly.
How can this vulnerability impact me? :
A double free vulnerability can lead to undefined behavior such as memory corruption, system crashes, or potential exploitation by attackers to execute arbitrary code or escalate privileges. In this case, the improper manual freeing of device-managed memory in the Linux kernel could destabilize the system or be leveraged for malicious purposes.
What immediate steps should I take to mitigate this vulnerability?
To mitigate this vulnerability, update the Linux kernel to a version where the sma1307 double free issue has been fixed.
The fix involves removing manual kfree() calls for device-managed memory allocations in the sma1307 driver and relying on devres to handle cleanup properly.
Therefore, applying the official patch or upgrading to a kernel release that includes this fix is the recommended immediate step.