7.8

CVE-2021-46959: spi: Fix use-after-free with devm_spi_alloc_*

Analyzed
AliasesUBUNTU-CVE-2021-46959DEBIAN-CVE-2021-46959
Published 29-02-2024Last modified 23-05-2026

Vulnerability summary

CVE-2021-46959 is a high (CVSS 7.8) Use After Free vulnerability in linux. EPSS estimates a 0.24% chance of exploitation in the next 30 days, higher than 15.8% of scored vulnerabilities.

Priority
Routine

Not severe (CVSS 7.8, local access); no exploitation reported by the 5 checked sources

Source freshness unavailable

How is this decided?
CVSS score
7.8/10
010
High · v3.1 (NVD)
EPSS score
0.24%
0%100%
Low · 0.00 pp in 30 days
KEVNot listedNot listed by any tracked catalog.
RansomwareNot flaggedNo ransomware use recorded.
Public exploits0No public exploits recorded

Advisory lineage

Upstream 0 · Downstream 6 · Related 6

Timeline

  1. 29-02-2024
    PublishedVulnerability first disclosed.
  2. 23-05-2026
    Last modifiedVulnerability information updated.

Description

In the Linux kernel, the following vulnerability has been resolved: spi: Fix use-after-free with devm_spi_alloc_* We can't rely on the contents of the devres list during spi_unregister_controller(), as the list is already torn down at the time we perform devres_find() for devm_spi_release_controller. This causes devices registered with devm_spi_alloc_{master,slave}() to be mistakenly identified as legacy, non-devm managed devices and have their reference counters decremented below 0. ------------[ cut here ]------------ WARNING: CPU: 1 PID: 660 at lib/refcount.c:28 refcount_warn_saturate+0x108/0x174 [<b0396f04>] (refcount_warn_saturate) from [<b03c56a4>] (kobject_put+0x90/0x98) [<b03c5614>] (kobject_put) from [<b0447b4c>] (put_device+0x20/0x24) r4:b6700140 [<b0447b2c>] (put_device) from [<b07515e8>] (devm_spi_release_controller+0x3c/0x40) [<b07515ac>] (devm_spi_release_controller) from [<b045343c>] (release_nodes+0x84/0xc4) r5:b6700180 r4:b6700100 [<b04533b8>] (release_nodes) from [<b0454160>] (devres_release_all+0x5c/0x60) r8:b1638c54 r7:b117ad94 r6:b1638c10 r5:b117ad94 r4:b163dc10 [<b0454104>] (devres_release_all) from [<b044e41c>] (__device_release_driver+0x144/0x1ec) r5:b117ad94 r4:b163dc10 [<b044e2d8>] (__device_release_driver) from [<b044f70c>] (device_driver_detach+0x84/0xa0) r9:00000000 r8:00000000 r7:b117ad94 r6:b163dc54 r5:b1638c10 r4:b163dc10 [<b044f688>] (device_driver_detach) from [<b044d274>] (unbind_store+0xe4/0xf8) Instead, determine the devm allocation state as a flag on the controller which is guaranteed to be stable during cleanup.

CVSS metrics

3 scores · 3 sources · 1 version

EPSS trend

Probability

0.24%

Chance of exploitation in the next 30 days

Percentile

16%

Versus all other CVEs

30-day change

No change 0.00 pp

From 0.24% on 04-10-2026

04-10-202603-11-2026

Known exploited

Compare KEV catalogs
CISA KEV

Not in the CISA KEV catalog.

ENISA CNW

Not in the ENISA CNW catalog.

CIRCL

Not in the CIRCL catalog.

Public exploits

0 found

No public exploits indexed.

Weaknesses

CWE · root cause

Affected systems

Version check

Known conditions: local access, low-privilege account, no user interaction (CVSS vector). Other conditions: not stated in public data.

Ubuntu86 products
  • linux< 4.4.0-268.302 | < 4.15.0-151.157 | < 5.4.0-77.86
  • linux-allwinner-5.19All versions (No fix recorded)
  • linux-aws< 4.4.0-1143.149 | < 4.4.0-1181.196 | < 4.15.0-1109.116 | < 5.4.0-1051.53
  • linux-aws-5.0All versions (No fix recorded)
  • linux-aws-5.11All versions (No fix recorded)
Linux2 products
  • linux≥ a4add022c1552b0d51a0b89a4781919d6ebac4f9, < 62bb2c7f2411a0045c24831f11ecacfc35610815 | ≥ 0870525cf94bc27907e94ce99afb6d7239ffd2f5, < 8bf96425c90f5c1dcf3b7b9df568019a1d4b8a0e | ≥ 8c45a1c6c951bbe7f95db78fcab46f7337364468, < 8e029707f50a82c53172359c686b2536ab54e58c | ≥ 234b432c7b6184b2d6c5ba2c55f0dd5023c0edf0, < 28a5529068c51cdf0295ab1e11a99a3a909a03e4 | ≥ 3e04a4976addbedcad326f47b0dd4efc570a1fac, < 001c8e83646ad3b847b18f6ac55a54367d917d74 | ≥ 5e844cc37a5cbaa460e68f9a989d321d63088a89, < c7fabe372a9031acd00498bc718ce27c253abfd1 | ≥ 5e844cc37a5cbaa460e68f9a989d321d63088a89, < cee78aa24578edac8cf00513dca618c0acc17cd7 | ≥ 5e844cc37a5cbaa460e68f9a989d321d63088a89, < 8735248ebb918d25427965f0db07939ed0473ec6 | ≥ 5e844cc37a5cbaa460e68f9a989d321d63088a89, < 794aaf01444d4e765e2b067cba01cc69c1c68ed9 | bd1a5b2307279029faaddbecf2f2ac25eaef8dc6 | ≥ 4.4.248, < 4.4.271 | ≥ 4.9.248, < 4.9.271 | ≥ 4.14.212, < 4.14.233 | ≥ 4.19.163, < 4.19.191 | ≥ 5.4.80, < 5.4.119 | ≥ 5.9.11, < 5.10 | 5.10
  • linux_kernel≥ 4.4.248, < 4.4.271 | ≥ 4.9.248, < 4.9.271 | ≥ 4.14.212, < 4.14.233 | ≥ 4.19.163, < 4.19.191 | ≥ 5.4.80, < 5.4.119 | ≥ 5.10, < 5.10.37 | ≥ 5.11, < 5.11.21 | ≥ 5.12, < 5.12.4
Debian1 product
  • linux< 5.10.38-1

3 vendors · 89 products

References

17 links
Show all 17 references