Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2023-53659— iavf: Fix out-of-bounds when setting channels on remove

CVSS 7.8 · High EPSS 0.15% · P5

Possible ATT&CK Techniques 1AI

T1059 · Command and Scripting Interpreter

Affected Version Matrix 14

VendorProductVersion RangeStatus
LinuxLinux1555d83ddbb7204ef60c58aee6ca3bbef2c5e99f< b92defe4e8ee86996c16417ad8c804cb4395fdddaffected
68d4274034e618b7f190dc9fbfc4f3436a7430f4< 0fb37ce6c01e17839e26d03222f0b44e6a3ed2b9affected
4e5e6b5d9d1334d3490326b6922a2daaf56a867f< 6e1d8f1332076a002e6d910d255aa5903d341c56affected
4e5e6b5d9d1334d3490326b6922a2daaf56a867f< 65ecebc9ac09427b2c65f271cd5e5bd536c3fe38affected
4e5e6b5d9d1334d3490326b6922a2daaf56a867f< 7c4bced3caa749ce468b0c5de711c98476b23a52affected
5.10.82< 5.10.188affected
5.15.5< 5.15.123affected
5.16affected
… +6 more rows
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2023-53659

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
iavf: Fix out-of-bounds when setting channels on remove
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: iavf: Fix out-of-bounds when setting channels on remove If we set channels greater during iavf_remove(), and waiting reset done would be timeout, then returned with error but changed num_active_queues directly, that will lead to OOB like the following logs. Because the num_active_queues is greater than tx/rx_rings[] allocated actually. 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: [ 3506.152887] iavf 0000:41:02.0: Removing device [ 3510.400799] ================================================================== [ 3510.400820] BUG: KASAN: slab-out-of-bounds in iavf_free_all_tx_resources+0x156/0x160 [iavf] [ 3510.400823] Read of size 8 at addr ffff88b6f9311008 by task repro.sh/55536 [ 3510.400823] [ 3510.400830] CPU: 101 PID: 55536 Comm: repro.sh Kdump: loaded Tainted: G O --------- -t - 4.18.0 #1 [ 3510.400832] Hardware name: Powerleader PR2008AL/H12DSi-N6, BIOS 2.0 04/09/2021 [ 3510.400835] Call Trace: [ 3510.400851] dump_stack+0x71/0xab [ 3510.400860] print_address_description+0x6b/0x290 [ 3510.400865] ? iavf_free_all_tx_resources+0x156/0x160 [iavf] [ 3510.400868] kasan_report+0x14a/0x2b0 [ 3510.400873] iavf_free_all_tx_resources+0x156/0x160 [iavf] [ 3510.400880] iavf_remove+0x2b6/0xc70 [iavf] [ 3510.400884] ? iavf_free_all_rx_resources+0x160/0x160 [iavf] [ 3510.400891] ? wait_woken+0x1d0/0x1d0 [ 3510.400895] ? notifier_call_chain+0xc1/0x130 [ 3510.400903] pci_device_remove+0xa8/0x1f0 [ 3510.400910] device_release_driver_internal+0x1c6/0x460 [ 3510.400916] pci_stop_bus_device+0x101/0x150 [ 3510.400919] pci_stop_and_remove_bus_device+0xe/0x20 [ 3510.400924] pci_iov_remove_virtfn+0x187/0x420 [ 3510.400927] ? pci_iov_add_virtfn+0xe10/0xe10 [ 3510.400929] ? pci_get_subsys+0x90/0x90 [ 3510.400932] sriov_disable+0xed/0x3e0 [ 3510.400936] ? bus_find_device+0x12d/0x1a0 [ 3510.400953] i40e_free_vfs+0x754/0x1210 [i40e] [ 3510.400966] ? i40e_reset_all_vfs+0x880/0x880 [i40e] [ 3510.400968] ? pci_get_device+0x7c/0x90 [ 3510.400970] ? pci_get_subsys+0x90/0x90 [ 3510.400982] ? pci_vfs_assigned.part.7+0x144/0x210 [ 3510.400987] ? __mutex_lock_slowpath+0x10/0x10 [ 3510.400996] i40e_pci_sriov_configure+0x1fa/0x2e0 [i40e] [ 3510.401001] sriov_numvfs_store+0x214/0x290 [ 3510.401005] ? sriov_totalvfs_show+0x30/0x30 [ 3510.401007] ? __mutex_lock_slowpath+0x10/0x10 [ 3510.401011] ? __check_object_size+0x15a/0x350 [ 3510.401018] kernfs_fop_write+0x280/0x3f0 [ 3510.401022] vfs_write+0x145/0x440 [ 3510.401025] ksys_write+0xab/0x160 [ 3510.401028] ? __ia32_sys_read+0xb0/0xb0 [ 3510.401031] ? fput_many+0x1a/0x120 [ 3510.401032] ? filp_close+0xf0/0x130 [ 3510.401038] do_syscall_64+0xa0/0x370 [ 3510.401041] ? page_fault+0x8/0x30 [ 3510.401043] entry_SYSCALL_64_after_hwframe+0x65/0xca [ 3510.401073] RIP: 0033:0x7f3a9bb842c0 [ 3510.401079] 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 ---truncated---
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于设置通道时未正确检查边界,可能导致越界写入。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux 1555d83ddbb7204ef60c58aee6ca3bbef2c5e99f ~ b92defe4e8ee86996c16417ad8c804cb4395fddd -
LinuxLinux 5.16 -

II. Public POCs for CVE-2023-53659

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2023-53659

登录查看更多情报信息。

Patches & Fixes for CVE-2023-53659 (1)

Same Patch Batch · Linux · 2025-10-07 · 118 CVEs total

CVE-2023-536299.8 CRITICALfs: dlm: fix use after free in midcomms commit
CVE-2023-536308.8 HIGHiommufd: Fix unpinning of pages when an access is present
CVE-2023-536768.8 HIGHscsi: target: iscsi: Fix buffer overflow in lio_target_nacl_info_show()
CVE-2023-536758.8 HIGHscsi: ses: Fix possible desc_ptr out-of-bounds accesses
CVE-2023-536738.8 HIGHBluetooth: hci_event: call disconnect callback before deleting conn
CVE-2023-536798.3 HIGHwifi: mt7601u: fix an integer underflow
CVE-2023-536358.2 HIGHnetfilter: conntrack: fix wrong ct->timeout value
CVE-2022-505437.8 HIGHRDMA/rxe: Fix mr->map double free
CVE-2023-536437.8 HIGHnvme-tcp: don't access released socket during error recovery
CVE-2023-536457.8 HIGHbpf: Make bpf_refcount_acquire fallible for non-owning refs
CVE-2023-536467.8 HIGHdrm/i915/perf: add sentinel to xehp_oa_b_counters
CVE-2023-536697.8 HIGHtcp: fix skb_copy_ubufs() vs BIG TCP
CVE-2023-536267.8 HIGHext4: fix possible double unlock when moving a directory
CVE-2023-536277.8 HIGHscsi: hisi_sas: Grab sas_dev lock when traversing the members of sas_dev.list
CVE-2022-505287.8 HIGHdrm/amdkfd: Fix memory leakage
CVE-2023-536197.8 HIGHnetfilter: conntrack: Avoid nf_ct_helper_hash uses after free
CVE-2023-536747.8 HIGHclk: Fix memory leak in devm_clk_notifier_register()
CVE-2022-505367.8 HIGHbpf, sockmap: Fix repeated calls to sock_put() when msg has more_data
CVE-2023-536837.8 HIGHfs: hfsplus: remove WARN_ON() from hfsplus_cat_{read,write}_inode()
CVE-2022-505557.8 HIGHtipc: fix a null-ptr-deref in tipc_topsrv_accept

Showing top 20 of 118 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2023-53659

No comments yet


Leave a comment