# CVE-2021-47589: linux: In the Linux kernel, the following vulnerability has been resolved:  igbvf: fix double free in `igbvf_probe`  In `igb...

CVE-2021-47589 is fixed in linux on 1 platform, first by DEBIAN-CVE-2021-47589, released June 19, 2024. It is not reported as exploited. Patch Radar priority: High.

- Web page: https://patchblox.com/security/cve/CVE-2021-47589
- Priority: High
- CVSS: 7.8 (high)
- EPSS: 0.0026
- CISA KEV: not listed
- Exploited (vendor report): no
- Publicly disclosed: no
- Published: Jun 19, 2024

## Description

In the Linux kernel, the following vulnerability has been resolved:  igbvf: fix double free in `igbvf_probe`  In `igbvf_probe`, if register_netdev() fails, the program will go to label err_hw_init, and then to label err_ioremap. In free_netdev() which is just below label err_ioremap, there is `list_for_each_entry_safe` and `netif_napi_del` which aims to delete all entries in `dev->napi_list`. The program has added an entry `adapter->rx_ring->napi` which is added by `netif_napi_add` in igbvf_alloc_queues(). However, adapter->rx_ring has been freed below label err_hw_init. So this a UAF.  In terms of how to patch the problem, we can refer to igbvf_remove() and delete the entry before `adapter->rx_ring`.  The KASAN logs are as follows:  [   35.126075] BUG: KASAN: use-after-free in free_netdev+0x1fd/0x450 [   35.127170] Read of size 8 at addr ffff88810126d990 by task modprobe/366 [   35.128360] [   35.128643] CPU: 1 PID: 366 Comm: modprobe Not tainted 5.15.0-rc2+ #14 [   35.129789] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014 [   35.131749] Call Trace: [   35.132199]  dump_stack_lvl+0x59/0x7b [   35.132865]  print_address_description+0x7c/0x3b0 [   35.133707]  ? free_netdev+0x1fd/0x450 [   35.134378]  __kasan_report+0x160/0x1c0 [   35.135063]  ? free_netdev+0x1fd/0x450 [   35.135738]  kasan_report+0x4b/0x70 [   35.136367]  free_netdev+0x1fd/0x450 [   35.137006]  igbvf_probe+0x121d/0x1a10 [igbvf] [   35.137808]  ? igbvf_vlan_rx_add_vid+0x100/0x100 [igbvf] [   35.138751]  local_pci_probe+0x13c/0x1f0 [   35.139461]  pci_device_probe+0x37e/0x6c0 [   35.165526] [   35.165806] Allocated by task 366: [   35.166414]  ____kasan_kmalloc+0xc4/0xf0 [   35.167117]  foo_kmem_cache_alloc_trace+0x3c/0x50 [igbvf] [   35.168078]  igbvf_probe+0x9c5/0x1a10 [igbvf] [   35.168866]  local_pci_probe+0x13c/0x1f0 [   35.169565]  pci_device_probe+0x37e/0x6c0 [   35.179713] [   35.179993] Freed by task 366: [   35.180539]  kasan_set_track+0x4c/0x80 [   35.181211]  kasan_set_free_info+0x1f/0x40 [   35.181942]  ____kasan_slab_free+0x103/0x140 [   35.182703]  kfree+0xe3/0x250 [   35.183239]  igbvf_probe+0x1173/0x1a10 [igbvf] [   35.184040]  local_pci_probe+0x13c/0x1f0

## Where it's fixed

| Platform | Product | Fixed in | Fix | Released |
|---|---|---|---|---|
| Linux | linux Debian 12.15 (bookworm) | 5.15.15-1 | [DEBIAN-CVE-2021-47589](https://patchblox.com/security/data/fix/linux/debian-cve-2021-47589.md) | Jun 19, 2024 |
| Linux | linux Debian 13.5 (trixie) | 5.15.15-1 | [DEBIAN-CVE-2021-47589](https://patchblox.com/security/data/fix/linux/debian-cve-2021-47589.md) | Jun 19, 2024 |
| Linux | linux Debian 14 | 5.15.15-1 | [DEBIAN-CVE-2021-47589](https://patchblox.com/security/data/fix/linux/debian-cve-2021-47589.md) | Jun 19, 2024 |

---

Data as of 2026-11-10T07:50:38Z UTC. Source: Patchblox Patch Radar (https://patchblox.com/security/patch-radar). Patchblox finds out-of-date software on Windows, macOS and Linux and updates it through release rings: https://patchblox.com/demo

Free to use with attribution: show "Data: Patchblox Patch Radar" with a link to https://patchblox.com/security/patch-radar. Terms, including what needs a written agreement: https://patchblox.com/security/patch-radar/use-the-data

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.
