Skip to content
Fencer Vulns
high 7.8

CVE-2023-53556 json

iavf: Fix use-after-free in free_netdev

published 2025-10-04 13 mo ago modified 2026-08-05 3 mo ago also EUVD-2025-32305

cvss
7.8
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.2%
EPSS 0.2% chance of exploitation in 30 days, percentile 4%
public exploits
0
none known

Summary

In the Linux kernel, the following vulnerability has been resolved:

iavf: Fix use-after-free in free_netdev

We do netif_napi_add() for all allocated q_vectors[], but potentially do netif_napi_del() for part of them, then kfree q_vectors and leave invalid pointers at dev->napi_list.

Reproducer:

[root@host ~]# cat repro.sh #!/bin/bash

pf_dbsf="0000:41:00.0" vf0_dbsf="0000:41:02.0" g_pids=()

function do_set_numvf() { echo 2 >/sys/bus/pci/devices/${pf_dbsf}/sriov_numvfs sleep $((RANDOM%3+1)) echo 0 >/sys/bus/pci/devices/${pf_dbsf}/sriov_numvfs sleep $((RANDOM%3+1)) }

function do_set_channel() { local nic=$(ls -1 --indicator-style=none /sys/bus/pci/devices/${vf0_dbsf}/net/) [ -z "$nic" ] && { sleep $((RANDOM%3)) ; return 1; } ifconfig $nic 192.168.18.5 netmask 255.255.255.0 ifconfig $nic up ethtool -L $nic combined 1 ethtool -L $nic combined 4 sleep $((RANDOM%3)) }

function on_exit() { local pid for pid in "${g_pids[@]}"; do kill -0 "$pid" &>/dev/null && kill "$pid" &>/dev/null done g_pids=() }

trap "on_exit; exit" EXIT

while :; do do_set_numvf ; done & g_pids+=($!) while :; do do_set_channel ; done & g_pids+=($!)

wait

Result:

[ 4093.900222] ================================================================== [ 4093.900230] BUG: KASAN: use-after-free in free_netdev+0x308/0x390 [ 4093.900232] Read of size 8 at addr ffff88b4dc145640 by task repro.sh/6699 [ 4093.900233] [ 4093.900236] CPU: 10 PID: 6699 Comm: repro.sh Kdump: loaded Tainted: G O --------- -t - 4.18.0 #1 [ 4093.900238] Hardware name: Powerleader PR2008AL/H12DSi-N6, BIOS 2.0 04/09/2021 [ 4093.900239] Call Trace: [ 4093.900244] dump_stack+0x71/0xab [ 4093.900249] print_address_description+0x6b/0x290 [ 4093.900251] ? free_netdev+0x308/0x390 [ 4093.900252] kasan_report+0x14a/0x2b0 [ 4093.900254] free_netdev+0x308/0x390 [ 4093.900261] iavf_remove+0x825/0xd20 [iavf] [ 4093.900265] pci_device_remove+0xa8/0x1f0 [ 4093.900268] device_release_driver_internal+0x1c6/0x460 [ 4093.900271] pci_stop_bus_device+0x101/0x150 [ 4093.900273] pci_stop_and_remove_bus_device+0xe/0x20 [ 4093.900275] pci_iov_remove_virtfn+0x187/0x420 [ 4093.900277] ? pci_iov_add_virtfn+0xe10/0xe10 [ 4093.900278] ? pci_get_subsys+0x90/0x90 [ 4093.900280] sriov_disable+0xed/0x3e0 [ 4093.900282] ? bus_find_device+0x12d/0x1a0 [ 4093.900290] i40e_free_vfs+0x754/0x1210 [i40e] [ 4093.900298] ? i40e_reset_all_vfs+0x880/0x880 [i40e] [ 4093.900299] ? pci_get_device+0x7c/0x90 [ 4093.900300] ? pci_get_subsys+0x90/0x90 [ 4093.900306] ? pci_vfs_assigned.part.7+0x144/0x210 [ 4093.900309] ? __mutex_lock_slowpath+0x10/0x10 [ 4093.900315] i40e_pci_sriov_configure+0x1fa/0x2e0 [i40e] [ 4093.900318] sriov_numvfs_store+0x214/0x290 [ 4093.900320] ? sriov_totalvfs_show+0x30/0x30 [ 4093.900321] ? __mutex_lock_slowpath+0x10/0x10 [ 4093.900323] ? __check_object_size+0x15a/0x350 [ 4093.900326] kernfs_fop_write+0x280/0x3f0 [ 4093.900329] vfs_write+0x145/0x440 [ 4093.900330] ksys_write+0xab/0x160 [ 4093.900332] ? __ia32_sys_read+0xb0/0xb0 [ 4093.900334] ? fput_many+0x1a/0x120 [ 4093.900335] ? filp_close+0xf0/0x130 [ 4093.900338] do_syscall_64+0xa0/0x370 [ 4093.900339] ? page_fault+0x8/0x30 [ 4093.900341] entry_SYSCALL_64_after_hwframe+0x65/0xca [ 4093.900357] RIP: 0033:0x7f16ad4d22c0 [ 4093.900359] Code: 73 01 c3 48 8b 0d d8 cb 2c 00 f7 d8 64 89 01 48 83 c8 ff c3 66 0f 1f 44 00 00 83 3d 89 24 2d 00 00 75 10 b8 01 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 31 c3 48 83 ec 08 e8 fe dd 01 00 48 89 04 24 [ 4093.900360] RSP: 002b:00007ffd6491b7f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 [ 4093.900362] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f16ad4d22c0 [ 4093.900363] RDX: 0000000000000002 RSI: 0000000001a41408 RDI: 0000000000000001 [ 4093.900364] RBP: 0000000001a41408 R08: 00007f16ad7a1780 R09: 00007f16ae1f2700 [ 4093.9003 ---truncated---

Patch / fix

  • Linux Linux 5.4.251, 5.10.188, 5.15.123, 6.1.42, 6.4.7, 6.5
  • linux Debian 12 6.1.52-1
  • linux Debian 14, Debian 13 6.4.11-1

debian advisories DEBIAN-CVE-2023-53556

  • linux Ubuntu 20.04 LTS 5.4.0-166.183
  • linux Ubuntu 22.04 LTS 5.15.0-88.98
  • linux-aws Ubuntu 20.04 LTS 5.4.0-1113.123
  • linux-aws Ubuntu 22.04 LTS 5.15.0-1049.54
  • linux-gcp Ubuntu 20.04 LTS 5.4.0-1117.126
  • linux-gcp Ubuntu 22.04 LTS 5.15.0-1046.54
  • linux-gke Ubuntu 22.04 LTS 5.15.0-1046.51
  • linux-ibm Ubuntu 20.04 LTS 5.4.0-1060.65

ubuntu advisories UBUNTU-CVE-2023-53556

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • perf rhev hypervisor 4.4, RHEL 8.6 EUS 4.18.0-372.75.1.el8_6
  • kernel RHEL 9 5.14.0-284.30.1.el9_2
  • perf RHEL 9 5.14.0-284.30.1.el9_2
  • rtla RHEL 9 5.14.0-284.30.1.el9_2
  • bpftool RHEL 9 7.0.0-284.30.1.el9_2
  • kernel-64k RHEL 9 5.14.0-284.30.1.el9_2
  • kernel-core RHEL 9 5.14.0-284.30.1.el9_2
  • kernel-tools RHEL 9 5.14.0-284.30.1.el9_2

red hat advisories RHSA-2023:5627RHSA-2023:5069RHSA-2023:7077RHSA-2023:6583

  • kernel-64kb SLES 15 SP5-LTSS, SLE High Performance Computing 15 SP5-LTSS, SLE High Performance Computing 15 SP5-ESPOS 5.14.21-150500.55.127.1
  • kernel-syms SLES for SAP 15 SP5, SLES 15 SP5-LTSS, SLE High Performance Computing 15 SP5-LTSS +1 more 5.14.21-150500.55.127.1
  • kernel-source SLES for SAP 15 SP5, SLES 15 SP5-LTSS, SLE Micro 5.5 +2 more 5.14.21-150500.55.127.1
  • kernel-default SLES for SAP 15 SP5, SLES 15 SP5-LTSS, SLE Micro 5.5 +3 more 5.14.21-150500.55.127.1
  • kernel-obs-build SLES for SAP 15 SP5, SLES 15 SP5-LTSS, SLE High Performance Computing 15 SP5-LTSS +1 more 5.14.21-150500.55.127.1
  • kernel-default-base SLES for SAP 15 SP5, SLES 15 SP5-LTSS, SLE Micro 5.5 +2 more 5.14.21-150500.55.127.1.150500.6.61.1
  • kernel-rt Real Time Module 15 SP6, openSUSE Leap 15.6 6.4.0-150600.10.58.1
  • kernel-syms-rt Real Time Module 15 SP6, openSUSE Leap 15.6 6.4.0-150600.10.58.1

suse advisories SUSE-SU-2025:4320-1SUSE-SU-2025:4301-1SUSE-SU-2025:21052-1SUSE-SU-2025:21064-1SUSE-SU-2025:4189-1SUSE-SU-2025:4149-1

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2023-53556 updated cvss 6.6

kernel: Linux kernel iavf driver: Denial of Service via use-after-free vulnerability

  • Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 kernel-rt, kernel-rt-kvm, kernel-rt-core, kernel-rt-modules, kernel-rt-debug-kvm, kernel-rt-debug-core, +6 more
    affected: workaround, no fix available “Fix deferred”
  • Red Hat Enterprise Linux 9 kernel-rt, kernel-rt-kvm, kernel-rt-core, kernel-rt-modules, kernel-rt-debug-kvm, kernel-rt-debug-core, +12 more
    affected: workaround, no fix planned “Out of support scope”
  • Red Hat CodeReady Linux Builder (v. 8) kernel-debuginfo-common-x86_64 4.18.0-513.5.1.el8_9, kernel-debuginfo-common-aarch64 4.18.0-513.5.1.el8_9, kernel-debuginfo-common-ppc64le 4.18.0-513.5.1.el8_9
    fixed: vendor fix RHSA-2023:7077
  • Red Hat CodeReady Linux Builder EUS (v.8.6) kernel-debuginfo-common-x86_64 4.18.0-372.75.1.el8_6, kernel-debuginfo-common-aarch64 4.18.0-372.75.1.el8_6, kernel-debuginfo-common-ppc64le 4.18.0-372.75.1.el8_6
    fixed: vendor fix RHSA-2023:5627
  • Red Hat Enterprise Linux AppStream (v. 9) perf 5.14.0-284.30.1.el9_2, rtla 5.14.0-284.30.1.el9_2, kernel-devel-matched 5.14.0-284.30.1.el9_2, kernel-64k-devel-matched 5.14.0-284.30.1.el9_2, kernel-debug-devel-matched 5.14.0-284.30.1.el9_2, kernel-debuginfo-common-s390x 5.14.0-284.30.1.el9_2, +5 more
    fixed: vendor fix RHSA-2023:5069
  • Red Hat Enterprise Linux BaseOS (v. 8) perf 4.18.0-513.5.1.el8_9, kernel 4.18.0-513.5.1.el8_9, bpftool 4.18.0-513.5.1.el8_9, kernel-core 4.18.0-513.5.1.el8_9, kernel-tools 4.18.0-513.5.1.el8_9, python3-perf 4.18.0-513.5.1.el8_9, +15 more
    fixed: vendor fix RHSA-2023:7077
  • Red Hat Enterprise Linux BaseOS (v. 9) bpftool 7.0.0-284.30.1.el9_2, kernel 5.14.0-284.30.1.el9_2, kernel-64k 5.14.0-284.30.1.el9_2, kernel-core 5.14.0-284.30.1.el9_2, kernel-tools 5.14.0-284.30.1.el9_2, python3-perf 5.14.0-284.30.1.el9_2, +28 more
    fixed: vendor fix RHSA-2023:5069
  • Red Hat Enterprise Linux BaseOS EUS (v.8.6) perf 4.18.0-372.75.1.el8_6, kernel 4.18.0-372.75.1.el8_6, bpftool 4.18.0-372.75.1.el8_6, kernel-core 4.18.0-372.75.1.el8_6, kernel-tools 4.18.0-372.75.1.el8_6, python3-perf 4.18.0-372.75.1.el8_6, +15 more
    fixed: vendor fix RHSA-2023:5627
show 3 more
  • Red Hat Enterprise Linux CRB (v. 9) kernel-debuginfo-common-s390x 5.14.0-284.30.1.el9_2, kernel-debuginfo-common-x86_64 5.14.0-284.30.1.el9_2, kernel-debuginfo-common-aarch64 5.14.0-284.30.1.el9_2, kernel-debuginfo-common-ppc64le 5.14.0-284.30.1.el9_2
    fixed: vendor fix RHSA-2023:5069
  • Red Hat Virtualization 4 Hypervisor for RHEL 8 perf 4.18.0-372.75.1.el8_6, kernel-debuginfo-common-x86_64 4.18.0-372.75.1.el8_6
    fixed: vendor fix RHSA-2023:5627
  • Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 10 kernel
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

Exploit prediction

0.15% chance of exploitation in the next 30 days, higher than 4% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 7.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
NVD 3.1 7.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Affected products

  • Linux Linux

Classification

Weakness
Technology feeds

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.