GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2023-53556 (GCVE-0-2023-53556)

Vulnerability from cvelistv5 – Published: 2025-10-04 15:17 – Updated: 2026-08-05 09:14
VLAI
Title
iavf: Fix use-after-free in free_netdev
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---
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 5eae00c57f5e42bf201023471917da213c4946d6 , < 17046107ca15d7571551539d94e76aba2bf71fd3 (git)
Affected: 5eae00c57f5e42bf201023471917da213c4946d6 , < a4635f190f332304db4a49e827ece790b804b5db (git)
Affected: 5eae00c57f5e42bf201023471917da213c4946d6 , < 345c44e18cc10cded85cb9134830e1684495c866 (git)
Affected: 5eae00c57f5e42bf201023471917da213c4946d6 , < ca12b98e04b5d1902ac08fe826d3500cb4b6e891 (git)
Affected: 5eae00c57f5e42bf201023471917da213c4946d6 , < 8d781a9c53034813c3194b7d94409c7d24ac73eb (git)
Affected: 5eae00c57f5e42bf201023471917da213c4946d6 , < 5f4fa1672d98fe99d2297b03add35346f1685d6b (git)
guessed Create a notification for this product.
Linux Linux Affected: 3.14
Unaffected: 0 , < 3.14 (semver)
Unaffected: 5.4.251 , ≤ 5.4.* (semver)
Unaffected: 5.10.188 , ≤ 5.10.* (semver)
Unaffected: 5.15.123 , ≤ 5.15.* (semver)
Unaffected: 6.1.42 , ≤ 6.1.* (semver)
Unaffected: 6.4.7 , ≤ 6.4.* (semver)
Unaffected: 6.5 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/intel/iavf/iavf_main.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "17046107ca15d7571551539d94e76aba2bf71fd3",
              "status": "affected",
              "version": "5eae00c57f5e42bf201023471917da213c4946d6",
              "versionType": "git"
            },
            {
              "lessThan": "a4635f190f332304db4a49e827ece790b804b5db",
              "status": "affected",
              "version": "5eae00c57f5e42bf201023471917da213c4946d6",
              "versionType": "git"
            },
            {
              "lessThan": "345c44e18cc10cded85cb9134830e1684495c866",
              "status": "affected",
              "version": "5eae00c57f5e42bf201023471917da213c4946d6",
              "versionType": "git"
            },
            {
              "lessThan": "ca12b98e04b5d1902ac08fe826d3500cb4b6e891",
              "status": "affected",
              "version": "5eae00c57f5e42bf201023471917da213c4946d6",
              "versionType": "git"
            },
            {
              "lessThan": "8d781a9c53034813c3194b7d94409c7d24ac73eb",
              "status": "affected",
              "version": "5eae00c57f5e42bf201023471917da213c4946d6",
              "versionType": "git"
            },
            {
              "lessThan": "5f4fa1672d98fe99d2297b03add35346f1685d6b",
              "status": "affected",
              "version": "5eae00c57f5e42bf201023471917da213c4946d6",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/intel/iavf/iavf_main.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "3.14"
            },
            {
              "lessThan": "3.14",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.251",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.188",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.123",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.42",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.4.*",
              "status": "unaffected",
              "version": "6.4.7",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.5",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.251",
                  "versionStartIncluding": "3.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.188",
                  "versionStartIncluding": "3.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.123",
                  "versionStartIncluding": "3.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.42",
                  "versionStartIncluding": "3.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.4.7",
                  "versionStartIncluding": "3.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.5",
                  "versionStartIncluding": "3.14",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\niavf: Fix use-after-free in free_netdev\n\nWe do netif_napi_add() for all allocated q_vectors[], but potentially\ndo netif_napi_del() for part of them, then kfree q_vectors and leave\ninvalid pointers at dev-\u003enapi_list.\n\nReproducer:\n\n  [root@host ~]# cat repro.sh\n  #!/bin/bash\n\n  pf_dbsf=\"0000:41:00.0\"\n  vf0_dbsf=\"0000:41:02.0\"\n  g_pids=()\n\n  function do_set_numvf()\n  {\n      echo 2 \u003e/sys/bus/pci/devices/${pf_dbsf}/sriov_numvfs\n      sleep $((RANDOM%3+1))\n      echo 0 \u003e/sys/bus/pci/devices/${pf_dbsf}/sriov_numvfs\n      sleep $((RANDOM%3+1))\n  }\n\n  function do_set_channel()\n  {\n      local nic=$(ls -1 --indicator-style=none /sys/bus/pci/devices/${vf0_dbsf}/net/)\n      [ -z \"$nic\" ] \u0026\u0026 { sleep $((RANDOM%3)) ; return 1; }\n      ifconfig $nic 192.168.18.5 netmask 255.255.255.0\n      ifconfig $nic up\n      ethtool -L $nic combined 1\n      ethtool -L $nic combined 4\n      sleep $((RANDOM%3))\n  }\n\n  function on_exit()\n  {\n      local pid\n      for pid in \"${g_pids[@]}\"; do\n          kill -0 \"$pid\" \u0026\u003e/dev/null \u0026\u0026 kill \"$pid\" \u0026\u003e/dev/null\n      done\n      g_pids=()\n  }\n\n  trap \"on_exit; exit\" EXIT\n\n  while :; do do_set_numvf ; done \u0026\n  g_pids+=($!)\n  while :; do do_set_channel ; done \u0026\n  g_pids+=($!)\n\n  wait\n\nResult:\n\n[ 4093.900222] ==================================================================\n[ 4093.900230] BUG: KASAN: use-after-free in free_netdev+0x308/0x390\n[ 4093.900232] Read of size 8 at addr ffff88b4dc145640 by task repro.sh/6699\n[ 4093.900233]\n[ 4093.900236] CPU: 10 PID: 6699 Comm: repro.sh Kdump: loaded Tainted: G           O     --------- -t - 4.18.0 #1\n[ 4093.900238] Hardware name: Powerleader PR2008AL/H12DSi-N6, BIOS 2.0 04/09/2021\n[ 4093.900239] Call Trace:\n[ 4093.900244]  dump_stack+0x71/0xab\n[ 4093.900249]  print_address_description+0x6b/0x290\n[ 4093.900251]  ? free_netdev+0x308/0x390\n[ 4093.900252]  kasan_report+0x14a/0x2b0\n[ 4093.900254]  free_netdev+0x308/0x390\n[ 4093.900261]  iavf_remove+0x825/0xd20 [iavf]\n[ 4093.900265]  pci_device_remove+0xa8/0x1f0\n[ 4093.900268]  device_release_driver_internal+0x1c6/0x460\n[ 4093.900271]  pci_stop_bus_device+0x101/0x150\n[ 4093.900273]  pci_stop_and_remove_bus_device+0xe/0x20\n[ 4093.900275]  pci_iov_remove_virtfn+0x187/0x420\n[ 4093.900277]  ? pci_iov_add_virtfn+0xe10/0xe10\n[ 4093.900278]  ? pci_get_subsys+0x90/0x90\n[ 4093.900280]  sriov_disable+0xed/0x3e0\n[ 4093.900282]  ? bus_find_device+0x12d/0x1a0\n[ 4093.900290]  i40e_free_vfs+0x754/0x1210 [i40e]\n[ 4093.900298]  ? i40e_reset_all_vfs+0x880/0x880 [i40e]\n[ 4093.900299]  ? pci_get_device+0x7c/0x90\n[ 4093.900300]  ? pci_get_subsys+0x90/0x90\n[ 4093.900306]  ? pci_vfs_assigned.part.7+0x144/0x210\n[ 4093.900309]  ? __mutex_lock_slowpath+0x10/0x10\n[ 4093.900315]  i40e_pci_sriov_configure+0x1fa/0x2e0 [i40e]\n[ 4093.900318]  sriov_numvfs_store+0x214/0x290\n[ 4093.900320]  ? sriov_totalvfs_show+0x30/0x30\n[ 4093.900321]  ? __mutex_lock_slowpath+0x10/0x10\n[ 4093.900323]  ? __check_object_size+0x15a/0x350\n[ 4093.900326]  kernfs_fop_write+0x280/0x3f0\n[ 4093.900329]  vfs_write+0x145/0x440\n[ 4093.900330]  ksys_write+0xab/0x160\n[ 4093.900332]  ? __ia32_sys_read+0xb0/0xb0\n[ 4093.900334]  ? fput_many+0x1a/0x120\n[ 4093.900335]  ? filp_close+0xf0/0x130\n[ 4093.900338]  do_syscall_64+0xa0/0x370\n[ 4093.900339]  ? page_fault+0x8/0x30\n[ 4093.900341]  entry_SYSCALL_64_after_hwframe+0x65/0xca\n[ 4093.900357] RIP: 0033:0x7f16ad4d22c0\n[ 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 \u003c48\u003e 3d 01 f0 ff ff 73 31 c3 48 83 ec 08 e8 fe dd 01 00 48 89 04 24\n[ 4093.900360] RSP: 002b:00007ffd6491b7f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001\n[ 4093.900362] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f16ad4d22c0\n[ 4093.900363] RDX: 0000000000000002 RSI: 0000000001a41408 RDI: 0000000000000001\n[ 4093.900364] RBP: 0000000001a41408 R08: 00007f16ad7a1780 R09: 00007f16ae1f2700\n[ 4093.9003\n---truncated---"
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The vulnerable state is created through local device-management interfaces \u2014 the `ethtool -L` (ETHTOOL_SCHANNELS) ioctl on the VF netdev and sysfs/PCI-unbind driver teardown \u2014 and no virtchnl message or received network packet reaches `iavf_free_q_vectors()`. Exploitation therefore requires local access to the system hosting the iavf VF.\nAC:L - The attacker controls both sides of the race described in the commit\u0027s own reproducer, issuing the queue-count reconfiguration and driving the VF reset/teardown loop themselves, and can repeat both indefinitely until `iavf_set_channels()` takes its reset-timeout path that lowers `num_active_queues`. Heap grooming of the freed 8192-byte object before `free_netdev()` is likewise under attacker influence.\nPR:L - Reaching `iavf_set_channels()` only needs `ns_capable(net-\u003euser_ns, CAP_NET_ADMIN)`, which a container or tenant holds over its own network namespace when an SR-IOV VF is delegated into it \u2014 a routine Kubernetes SR-IOV CNI / NFV deployment. No real root in the initial namespace is required to create the NAPI add/del mismatch.\nUI:N - No victim action is needed; the attacker triggers the queue reconfiguration, the resets, and the driver-teardown path themselves in a loop, exactly as in the commit\u0027s reproducer script. Stale `napi_struct` entries also persist on a live `netdev-\u003enapi_list` after a reinit, so no separate administrator action is required.\nS:U - The use-after-free corrupts kernel heap memory and is exploited entirely within the kernel\u0027s own security authority, giving kernel-level control on the same host. No hypervisor, IOMMU, or other security-authority boundary is crossed.\nC:H - The dangling `napi_struct` pointers reference a freed `kmalloc-8k` object that the attacker can reoccupy with sprayed data, and `__netif_napi_del()` reads `napi-\u003estate`, `napi-\u003edev_list`, `napi-\u003eskb`, `napi-\u003egro_hash[]`, and `napi-\u003ethread` from it. Combined with the resulting arbitrary-pointer dereferences, this is leverageable into arbitrary kernel memory disclosure.\nI:H - `__netif_napi_del()` performs `list_del_rcu(\u0026napi-\u003edev_list)` and `hlist_del_init_rcu()` on the freed object, writing to attacker-forged `next`/`prev` pointers \u2014 a direct arbitrary-write primitive \u2014 plus `kfree_skb()` on controlled `napi-\u003eskb`/GRO-hash pointers and `kthread_stop(napi-\u003ethread)`. These are sufficient for control-flow hijacking and full privilege escalation.\nA:H - Even without exploitation the use-after-free corrupts `netdev-\u003enapi_list` and reliably oopses in `free_netdev()`, as shown by the KASAN splat in the commit message. Any list-walk consumer (`free_netdev()`, `netif_set_threaded()`, `__netpoll_setup()`) can panic the kernel."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T09:14:47.905Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/17046107ca15d7571551539d94e76aba2bf71fd3"
        },
        {
          "url": "https://git.kernel.org/stable/c/a4635f190f332304db4a49e827ece790b804b5db"
        },
        {
          "url": "https://git.kernel.org/stable/c/345c44e18cc10cded85cb9134830e1684495c866"
        },
        {
          "url": "https://git.kernel.org/stable/c/ca12b98e04b5d1902ac08fe826d3500cb4b6e891"
        },
        {
          "url": "https://git.kernel.org/stable/c/8d781a9c53034813c3194b7d94409c7d24ac73eb"
        },
        {
          "url": "https://git.kernel.org/stable/c/5f4fa1672d98fe99d2297b03add35346f1685d6b"
        }
      ],
      "title": "iavf: Fix use-after-free in free_netdev",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2023-53556",
    "datePublished": "2025-10-04T15:17:01.238Z",
    "dateReserved": "2025-10-04T15:14:15.922Z",
    "dateUpdated": "2026-08-05T09:14:47.905Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2023-53556",
      "date": "2026-09-18",
      "epss": "0.00149",
      "percentile": "0.04487"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/net/ethernet/intel/iavf/iavf_main.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "17046107ca15d7571551539d94e76aba2bf71fd3",
                    "status": "affected",
                    "version": "5eae00c57f5e42bf201023471917da213c4946d6",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "a4635f190f332304db4a49e827ece790b804b5db",
                    "status": "affected",
                    "version": "5eae00c57f5e42bf201023471917da213c4946d6",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "345c44e18cc10cded85cb9134830e1684495c866",
                    "status": "affected",
                    "version": "5eae00c57f5e42bf201023471917da213c4946d6",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "ca12b98e04b5d1902ac08fe826d3500cb4b6e891",
                    "status": "affected",
                    "version": "5eae00c57f5e42bf201023471917da213c4946d6",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "8d781a9c53034813c3194b7d94409c7d24ac73eb",
                    "status": "affected",
                    "version": "5eae00c57f5e42bf201023471917da213c4946d6",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "5f4fa1672d98fe99d2297b03add35346f1685d6b",
                    "status": "affected",
                    "version": "5eae00c57f5e42bf201023471917da213c4946d6",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/net/ethernet/intel/iavf/iavf_main.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "3.14"
                  },
                  {
                    "lessThan": "3.14",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.4.*",
                    "status": "unaffected",
                    "version": "5.4.251",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.10.*",
                    "status": "unaffected",
                    "version": "5.10.188",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.15.*",
                    "status": "unaffected",
                    "version": "5.15.123",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.1.*",
                    "status": "unaffected",
                    "version": "6.1.42",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.4.*",
                    "status": "unaffected",
                    "version": "6.4.7",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "6.5",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "configurations": [
          {
            "nodes": [
              {
                "cpeMatch": [
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "5834BD41-A0E2-4A09-96F3-66EF7F10FC5B",
                    "versionEndExcluding": "5.4.251",
                    "versionStartIncluding": "3.14",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "43CAE50A-4A6C-488E-813C-F8DB77C13C8B",
                    "versionEndExcluding": "5.10.188",
                    "versionStartIncluding": "5.5",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "372C0BAA-44F5-4829-A7B0-E4924B682DA4",
                    "versionEndExcluding": "5.15.123",
                    "versionStartIncluding": "5.11",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "6E769E6A-7EEF-4FA8-BF41-6CA1CE537361",
                    "versionEndExcluding": "6.1.42",
                    "versionStartIncluding": "5.16",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "60A1A1ED-EA6C-42F6-80D3-3316DC7608C7",
                    "versionEndExcluding": "6.4.7",
                    "versionStartIncluding": "6.2",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:6.5:rc1:*:*:*:*:*:*",
                    "matchCriteriaId": "0B3E6E4D-E24E-4630-B00C-8C9901C597B0",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:6.5:rc2:*:*:*:*:*:*",
                    "matchCriteriaId": "E4A01A71-0F09-4DB2-A02F-7EFFBE27C98D",
                    "vulnerable": true
                  }
                ],
                "negate": false,
                "operator": "OR"
              }
            ]
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\niavf: Fix use-after-free in free_netdev\n\nWe do netif_napi_add() for all allocated q_vectors[], but potentially\ndo netif_napi_del() for part of them, then kfree q_vectors and leave\ninvalid pointers at dev-\u003enapi_list.\n\nReproducer:\n\n  [root@host ~]# cat repro.sh\n  #!/bin/bash\n\n  pf_dbsf=\"0000:41:00.0\"\n  vf0_dbsf=\"0000:41:02.0\"\n  g_pids=()\n\n  function do_set_numvf()\n  {\n      echo 2 \u003e/sys/bus/pci/devices/${pf_dbsf}/sriov_numvfs\n      sleep $((RANDOM%3+1))\n      echo 0 \u003e/sys/bus/pci/devices/${pf_dbsf}/sriov_numvfs\n      sleep $((RANDOM%3+1))\n  }\n\n  function do_set_channel()\n  {\n      local nic=$(ls -1 --indicator-style=none /sys/bus/pci/devices/${vf0_dbsf}/net/)\n      [ -z \"$nic\" ] \u0026\u0026 { sleep $((RANDOM%3)) ; return 1; }\n      ifconfig $nic 192.168.18.5 netmask 255.255.255.0\n      ifconfig $nic up\n      ethtool -L $nic combined 1\n      ethtool -L $nic combined 4\n      sleep $((RANDOM%3))\n  }\n\n  function on_exit()\n  {\n      local pid\n      for pid in \"${g_pids[@]}\"; do\n          kill -0 \"$pid\" \u0026\u003e/dev/null \u0026\u0026 kill \"$pid\" \u0026\u003e/dev/null\n      done\n      g_pids=()\n  }\n\n  trap \"on_exit; exit\" EXIT\n\n  while :; do do_set_numvf ; done \u0026\n  g_pids+=($!)\n  while :; do do_set_channel ; done \u0026\n  g_pids+=($!)\n\n  wait\n\nResult:\n\n[ 4093.900222] ==================================================================\n[ 4093.900230] BUG: KASAN: use-after-free in free_netdev+0x308/0x390\n[ 4093.900232] Read of size 8 at addr ffff88b4dc145640 by task repro.sh/6699\n[ 4093.900233]\n[ 4093.900236] CPU: 10 PID: 6699 Comm: repro.sh Kdump: loaded Tainted: G           O     --------- -t - 4.18.0 #1\n[ 4093.900238] Hardware name: Powerleader PR2008AL/H12DSi-N6, BIOS 2.0 04/09/2021\n[ 4093.900239] Call Trace:\n[ 4093.900244]  dump_stack+0x71/0xab\n[ 4093.900249]  print_address_description+0x6b/0x290\n[ 4093.900251]  ? free_netdev+0x308/0x390\n[ 4093.900252]  kasan_report+0x14a/0x2b0\n[ 4093.900254]  free_netdev+0x308/0x390\n[ 4093.900261]  iavf_remove+0x825/0xd20 [iavf]\n[ 4093.900265]  pci_device_remove+0xa8/0x1f0\n[ 4093.900268]  device_release_driver_internal+0x1c6/0x460\n[ 4093.900271]  pci_stop_bus_device+0x101/0x150\n[ 4093.900273]  pci_stop_and_remove_bus_device+0xe/0x20\n[ 4093.900275]  pci_iov_remove_virtfn+0x187/0x420\n[ 4093.900277]  ? pci_iov_add_virtfn+0xe10/0xe10\n[ 4093.900278]  ? pci_get_subsys+0x90/0x90\n[ 4093.900280]  sriov_disable+0xed/0x3e0\n[ 4093.900282]  ? bus_find_device+0x12d/0x1a0\n[ 4093.900290]  i40e_free_vfs+0x754/0x1210 [i40e]\n[ 4093.900298]  ? i40e_reset_all_vfs+0x880/0x880 [i40e]\n[ 4093.900299]  ? pci_get_device+0x7c/0x90\n[ 4093.900300]  ? pci_get_subsys+0x90/0x90\n[ 4093.900306]  ? pci_vfs_assigned.part.7+0x144/0x210\n[ 4093.900309]  ? __mutex_lock_slowpath+0x10/0x10\n[ 4093.900315]  i40e_pci_sriov_configure+0x1fa/0x2e0 [i40e]\n[ 4093.900318]  sriov_numvfs_store+0x214/0x290\n[ 4093.900320]  ? sriov_totalvfs_show+0x30/0x30\n[ 4093.900321]  ? __mutex_lock_slowpath+0x10/0x10\n[ 4093.900323]  ? __check_object_size+0x15a/0x350\n[ 4093.900326]  kernfs_fop_write+0x280/0x3f0\n[ 4093.900329]  vfs_write+0x145/0x440\n[ 4093.900330]  ksys_write+0xab/0x160\n[ 4093.900332]  ? __ia32_sys_read+0xb0/0xb0\n[ 4093.900334]  ? fput_many+0x1a/0x120\n[ 4093.900335]  ? filp_close+0xf0/0x130\n[ 4093.900338]  do_syscall_64+0xa0/0x370\n[ 4093.900339]  ? page_fault+0x8/0x30\n[ 4093.900341]  entry_SYSCALL_64_after_hwframe+0x65/0xca\n[ 4093.900357] RIP: 0033:0x7f16ad4d22c0\n[ 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 \u003c48\u003e 3d 01 f0 ff ff 73 31 c3 48 83 ec 08 e8 fe dd 01 00 48 89 04 24\n[ 4093.900360] RSP: 002b:00007ffd6491b7f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001\n[ 4093.900362] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f16ad4d22c0\n[ 4093.900363] RDX: 0000000000000002 RSI: 0000000001a41408 RDI: 0000000000000001\n[ 4093.900364] RBP: 0000000001a41408 R08: 00007f16ad7a1780 R09: 00007f16ae1f2700\n[ 4093.9003\n---truncated---"
          }
        ],
        "id": "CVE-2023-53556",
        "lastModified": "2026-08-04T10:19:11.987",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            },
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "nvd@nist.gov",
              "type": "Primary"
            }
          ]
        },
        "published": "2025-10-04T16:15:50.927",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/17046107ca15d7571551539d94e76aba2bf71fd3"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/345c44e18cc10cded85cb9134830e1684495c866"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/5f4fa1672d98fe99d2297b03add35346f1685d6b"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/8d781a9c53034813c3194b7d94409c7d24ac73eb"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/a4635f190f332304db4a49e827ece790b804b5db"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/ca12b98e04b5d1902ac08fe826d3500cb4b6e891"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Modified",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "CWE-416"
              }
            ],
            "source": "nvd@nist.gov",
            "type": "Primary"
          }
        ]
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-05T03:45:18+00:00",
      "cve": "CVE-2023-53556",
      "id": "CVE-2023-53556",
      "initial_release_date": "2023-01-01T00:00:00+00:00",
      "product_status:fixed": "450",
      "product_status:known_affected": "66",
      "product_status:known_not_affected": "90",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: Linux kernel iavf driver: Denial of Service via use-after-free vulnerability",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2023/cve-2023-53556.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…