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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2023-54070— igb: clean up in all error paths when enabling SR-IOV

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于启用SR-IOV时未在所有错误路径中清理,可能导致模块移除时挂起或崩溃。

AI Predicted 5.5 Difficulty: Easy EPSS 0.18% · P8

Affected Version Matrix 6

VendorProduct Version RangeStatus
Linux Linux 50f303496d92e25b79bdfb73e3707ad0684ad67f< 0e3ea7e82a06014b9baf1b84ba579c38cbff3558 affected
50f303496d92e25b79bdfb73e3707ad0684ad67f< bc6ed2fa24b14e40e1005488bbe11268ce7108fa affected
6.3 affected
< 6.3 unaffected
6.5.4≤ 6.5.* unaffected
6.6≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2023-54070

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
igb: clean up in all error paths when enabling SR-IOV
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: igb: clean up in all error paths when enabling SR-IOV After commit 50f303496d92 ("igb: Enable SR-IOV after reinit"), removing the igb module could hang or crash (depending on the machine) when the module has been loaded with the max_vfs parameter set to some value != 0. In case of one test machine with a dual port 82580, this hang occurred: [ 232.480687] igb 0000:41:00.1: removed PHC on enp65s0f1 [ 233.093257] igb 0000:41:00.1: IOV Disabled [ 233.329969] pcieport 0000:40:01.0: AER: Multiple Uncorrected (Non-Fatal) err0 [ 233.340302] igb 0000:41:00.0: PCIe Bus Error: severity=Uncorrected (Non-Fata) [ 233.352248] igb 0000:41:00.0: device [8086:1516] error status/mask=00100000 [ 233.361088] igb 0000:41:00.0: [20] UnsupReq (First) [ 233.368183] igb 0000:41:00.0: AER: TLP Header: 40000001 0000040f cdbfc00c c [ 233.376846] igb 0000:41:00.1: PCIe Bus Error: severity=Uncorrected (Non-Fata) [ 233.388779] igb 0000:41:00.1: device [8086:1516] error status/mask=00100000 [ 233.397629] igb 0000:41:00.1: [20] UnsupReq (First) [ 233.404736] igb 0000:41:00.1: AER: TLP Header: 40000001 0000040f cdbfc00c c [ 233.538214] pci 0000:41:00.1: AER: can't recover (no error_detected callback) [ 233.538401] igb 0000:41:00.0: removed PHC on enp65s0f0 [ 233.546197] pcieport 0000:40:01.0: AER: device recovery failed [ 234.157244] igb 0000:41:00.0: IOV Disabled [ 371.619705] INFO: task irq/35-aerdrv:257 blocked for more than 122 seconds. [ 371.627489] Not tainted 6.4.0-dirty #2 [ 371.632257] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this. [ 371.641000] task:irq/35-aerdrv state:D stack:0 pid:257 ppid:2 f0 [ 371.650330] Call Trace: [ 371.653061] <TASK> [ 371.655407] __schedule+0x20e/0x660 [ 371.659313] schedule+0x5a/0xd0 [ 371.662824] schedule_preempt_disabled+0x11/0x20 [ 371.667983] __mutex_lock.constprop.0+0x372/0x6c0 [ 371.673237] ? __pfx_aer_root_reset+0x10/0x10 [ 371.678105] report_error_detected+0x25/0x1c0 [ 371.682974] ? __pfx_report_normal_detected+0x10/0x10 [ 371.688618] pci_walk_bus+0x72/0x90 [ 371.692519] pcie_do_recovery+0xb2/0x330 [ 371.696899] aer_process_err_devices+0x117/0x170 [ 371.702055] aer_isr+0x1c0/0x1e0 [ 371.705661] ? __set_cpus_allowed_ptr+0x54/0xa0 [ 371.710723] ? __pfx_irq_thread_fn+0x10/0x10 [ 371.715496] irq_thread_fn+0x20/0x60 [ 371.719491] irq_thread+0xe6/0x1b0 [ 371.723291] ? __pfx_irq_thread_dtor+0x10/0x10 [ 371.728255] ? __pfx_irq_thread+0x10/0x10 [ 371.732731] kthread+0xe2/0x110 [ 371.736243] ? __pfx_kthread+0x10/0x10 [ 371.740430] ret_from_fork+0x2c/0x50 [ 371.744428] </TASK> The reproducer was a simple script: #!/bin/sh for i in `seq 1 5`; do modprobe -rv igb modprobe -v igb max_vfs=1 sleep 1 modprobe -rv igb done It turned out that this could only be reproduce on 82580 (quad and dual-port), but not on 82576, i350 and i210. Further debugging showed that igb_enable_sriov()'s call to pci_enable_sriov() is failing, because dev->is_physfn is 0 on 82580. Prior to commit 50f303496d92 ("igb: Enable SR-IOV after reinit"), igb_enable_sriov() jumped into the "err_out" cleanup branch. After this commit it only returned the error code. So the cleanup didn't take place, and the incorrect VF setup in the igb_adapter structure fooled the igb driver into assuming that VFs have been set up where no VF actually existed. Fix this problem by cleaning up again if pci_enable_sriov() fails.
Source: CVE Program / CVE List V5
CVSS Information
N/A
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存在安全漏洞,该漏洞源于启用SR-IOV时未在所有错误路径中清理,可能导致模块移除时挂起或崩溃。
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

Vendor Product Affected Versions CPE Subscribe
Linux Linux 50f303496d92e25b79bdfb73e3707ad0684ad67f ~ 0e3ea7e82a06014b9baf1b84ba579c38cbff3558 -
Linux Linux 6.3 -

II. Public POCs for CVE-2023-54070

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2023-54070

请登录查看更多情报信息。

Other References for CVE-2023-54070 (1)

Same Patch Batch · Linux · 2025-12-24 · 322 CVEs total

CVE-2022-50717 9.8 CRITICAL nvmet-tcp: add bounds check on Transfer Tag
CVE-2023-53867 9.8 CRITICAL ceph: fix potential use-after-free bug when trimming caps
CVE-2023-54090 9.8 CRITICAL ixgbe: Fix panic during XDP_TX with > 64 CPUs
CVE-2025-68726 9.8 CRITICAL crypto: aead - Fix reqsize handling
CVE-2023-54094 9.8 CRITICAL net: prevent skb corruption on frag list segmentation
CVE-2025-68745 9.8 CRITICAL scsi: qla2xxx: Clear cmds after chip reset
CVE-2025-68741 9.8 CRITICAL scsi: qla2xxx: Fix improper freeing of purex item
CVE-2025-68359 9.8 CRITICAL btrfs: fix double free of qgroup record after failure to add delayed ref head
CVE-2023-54076 9.8 CRITICAL smb: client: fix missed ses refcounting
CVE-2023-53996 9.3 CRITICAL x86/sev: Make enc_dec_hypercall() accept a size instead of npages
CVE-2023-54040 8.8 HIGH ice: fix wrong fallback logic for FDIR
CVE-2023-54071 8.8 HIGH wifi: rtw88: use work to update rate to avoid RCU warning
CVE-2023-54060 8.8 HIGH iommufd: Set end correctly when doing batch carry
CVE-2023-54120 8.8 HIGH Bluetooth: Fix race condition in hidp_session_thread
CVE-2025-68736 8.8 HIGH landlock: Fix handling of disconnected directories
CVE-2023-54092 8.8 HIGH KVM: s390: pv: fix index value of replaced ASCE
CVE-2022-50732 8.8 HIGH staging: rtl8192u: Fix use after free in ieee80211_rx()
CVE-2023-54043 8.8 HIGH iommufd: Do not add the same hwpt to the ioas->hwpt_list twice
CVE-2023-53986 8.6 HIGH mips: bmips: BCM6358: disable RAC flush for TP1
CVE-2022-50746 8.4 HIGH erofs: validate the extent length for uncompressed pclusters

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

IV. Related Vulnerabilities

V. Comments for CVE-2023-54070

No comments yet


Leave a comment