7.8
CVE-2021-47483
- EPSS 0.02%
- Published 22.05.2024 09:15:10
- Last modified 06.01.2025 19:52:33
- Source 416baaa9-dc9f-4396-8d5f-8c081f
- CVE-Watchlists
- Open
In the Linux kernel, the following vulnerability has been resolved: regmap: Fix possible double-free in regcache_rbtree_exit() In regcache_rbtree_insert_to_block(), when 'present' realloc failed, the 'blk' which is supposed to assign to 'rbnode->block' will be freed, so 'rbnode->block' points a freed memory, in the error handling path of regcache_rbtree_init(), 'rbnode->block' will be freed again in regcache_rbtree_exit(), KASAN will report double-free as follows: BUG: KASAN: double-free or invalid-free in kfree+0xce/0x390 Call Trace: slab_free_freelist_hook+0x10d/0x240 kfree+0xce/0x390 regcache_rbtree_exit+0x15d/0x1a0 regcache_rbtree_init+0x224/0x2c0 regcache_init+0x88d/0x1310 __regmap_init+0x3151/0x4a80 __devm_regmap_init+0x7d/0x100 madera_spi_probe+0x10f/0x333 [madera_spi] spi_probe+0x183/0x210 really_probe+0x285/0xc30 To fix this, moving up the assignment of rbnode->block to immediately after the reallocation has succeeded so that the data structure stays valid even if the second reallocation fails.
Data is provided by the National Vulnerability Database (NVD)
Linux ≫ Linux Kernel Version >= 3.12 < 4.4.291
Linux ≫ Linux Kernel Version >= 4.5 < 4.9.289
Linux ≫ Linux Kernel Version >= 4.10 < 4.14.254
Linux ≫ Linux Kernel Version >= 4.15 < 4.19.215
Linux ≫ Linux Kernel Version >= 4.20 < 5.4.157
Linux ≫ Linux Kernel Version >= 5.5 < 5.10.77
Linux ≫ Linux Kernel Version >= 5.11 < 5.14.16
Linux ≫ Linux Kernel Version5.15 Updaterc1
Linux ≫ Linux Kernel Version5.15 Updaterc2
Linux ≫ Linux Kernel Version5.15 Updaterc3
Linux ≫ Linux Kernel Version5.15 Updaterc4
Linux ≫ Linux Kernel Version5.15 Updaterc5
Linux ≫ Linux Kernel Version5.15 Updaterc6
Linux ≫ Linux Kernel Version5.15 Updaterc7
| Type | Source | Score | Percentile |
|---|---|---|---|
| EPSS | FIRST.org | 0.02% | 0.042 |
| Source | Base Score | Exploit Score | Impact Score | Vector string |
|---|---|---|---|---|
| nvd@nist.gov | 7.8 | 1.8 | 5.9 |
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
|
CWE-415 Double Free
The product calls free() twice on the same memory address, potentially leading to modification of unexpected memory locations.