CVE-2023-53148
Vulnerability Summary
Timeline
Description
In the Linux kernel, the following vulnerability has been resolved: igb: Fix igb_down hung on surprise removal In a setup where a Thunderbolt hub connects to Ethernet and a display through USB Type-C, users may experience a hung task timeout when they remove the cable between the PC and the Thunderbolt hub. This is because the igb_down function is called multiple times when the Thunderbolt hub is unplugged. For example, the igb_io_error_detected triggers the first call, and the igb_remove triggers the second call. The second call to igb_down will block at napi_synchronize. Here's the call trace: __schedule+0x3b0/0xddb ? __mod_timer+0x164/0x5d3 schedule+0x44/0xa8 schedule_timeout+0xb2/0x2a4 ? run_local_timers+0x4e/0x4e msleep+0x31/0x38 igb_down+0x12c/0x22a [igb 6615058754948bfde0bf01429257eb59f13030d4] __igb_close+0x6f/0x9c [igb 6615058754948bfde0bf01429257eb59f13030d4] igb_close+0x23/0x2b [igb 6615058754948bfde0bf01429257eb59f13030d4] __dev_close_many+0x95/0xec dev_close_many+0x6e/0x103 unregister_netdevice_many+0x105/0x5b1 unregister_netdevice_queue+0xc2/0x10d unregister_netdev+0x1c/0x23 igb_remove+0xa7/0x11c [igb 6615058754948bfde0bf01429257eb59f13030d4] pci_device_remove+0x3f/0x9c device_release_driver_internal+0xfe/0x1b4 pci_stop_bus_device+0x5b/0x7f pci_stop_bus_device+0x30/0x7f pci_stop_bus_device+0x30/0x7f pci_stop_and_remove_bus_device+0x12/0x19 pciehp_unconfigure_device+0x76/0xe9 pciehp_disable_slot+0x6e/0x131 pciehp_handle_presence_or_link_change+0x7a/0x3f7 pciehp_ist+0xbe/0x194 irq_thread_fn+0x22/0x4d ? irq_thread+0x1fd/0x1fd irq_thread+0x17b/0x1fd ? irq_forced_thread_fn+0x5f/0x5f kthread+0x142/0x153 ? __irq_get_irqchip_state+0x46/0x46 ? kthread_associate_blkcg+0x71/0x71 ret_from_fork+0x1f/0x30 In this case, igb_io_error_detected detaches the network interface and requests a PCIE slot reset, however, the PCIE reset callback is not being invoked and thus the Ethernet connection breaks down. As the PCIE error in this case is a non-fatal one, requesting a slot reset can be avoided. This patch fixes the task hung issue and preserves Ethernet connection by ignoring non-fatal PCIE errors.
CVSS Metrics
- v3.1•HIGH•Score: 7.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
EPSS Trends
Current EPSS score: 0.17%• Percentile: 6%
Techniques & Countermeasures
- CWE-415•Double Free
The product calls free() twice on the same memory address.
Affected Systems
- debian•linux
< 5.10.191-1 | < 6.1.52-1 | < 6.4.11-1 | < 6.4.11-1
- ubuntu•linux
all | < 5.4.0-166.183 | < 5.15.0-88.98
- ubuntu•linux-allwinner-5.19
all
- ubuntu•linux-aws
all | < 5.4.0-1113.123 | < 5.15.0-1049.54
- ubuntu•linux-aws-5.0
all
- ubuntu•linux-aws-5.11
all
- ubuntu•linux-aws-5.13
all
- ubuntu•linux-aws-5.15
< 5.15.0-1049.54~20.04.1
- ubuntu•linux-aws-5.19
all
- ubuntu•linux-aws-5.3
all
- ubuntu•linux-aws-5.4
< 5.4.0-1113.123~18.04.1
- ubuntu•linux-aws-5.8
all
- ubuntu•linux-aws-6.2
all
- ubuntu•linux-aws-6.5
all
- ubuntu•linux-aws-fips
all | < 5.4.0-1113.123+fips1
- ubuntu•linux-aws-hwe
all
- ubuntu•linux-azure
all | all | < 5.4.0-1119.126 | < 5.15.0-1051.59
- ubuntu•linux-azure-4.15
all
- ubuntu•linux-azure-5.11
all
- ubuntu•linux-azure-5.13
all
- ubuntu•linux-azure-5.15
< 5.15.0-1051.59~20.04.1
- ubuntu•linux-azure-5.19
all
- ubuntu•linux-azure-5.3
all
- ubuntu•linux-azure-5.4
< 5.4.0-1119.126~18.04.2
- ubuntu•linux-azure-5.8
all
- ubuntu•linux-azure-6.11
all
- ubuntu•linux-azure-6.2
all
- ubuntu•linux-azure-6.5
all
- ubuntu•linux-azure-edge
all
- ubuntu•linux-azure-fde
all | all
- ubuntu•linux-azure-fde-5.19
all
- ubuntu•linux-azure-fde-6.2
all
- ubuntu•linux-azure-fips
all | < 5.4.0-1119.126+fips1
- ubuntu•linux-bluefield
all | < 5.4.0-1074.80 | < 5.15.0-1031.33
- ubuntu•linux-fips
all | < 5.4.0-1088.97
- ubuntu•linux-gcp
all | all | < 5.4.0-1117.126 | < 5.15.0-1046.54
- ubuntu•linux-gcp-4.15
all
- ubuntu•linux-gcp-5.11
all
- ubuntu•linux-gcp-5.13
all
- ubuntu•linux-gcp-5.15
< 5.15.0-1046.54~20.04.1
- ubuntu•linux-gcp-5.19
all
- ubuntu•linux-gcp-5.3
all
- ubuntu•linux-gcp-5.4
< 5.4.0-1117.126~18.04.1
- ubuntu•linux-gcp-5.8
all
- ubuntu•linux-gcp-6.11
all
- ubuntu•linux-gcp-6.2
all
- ubuntu•linux-gcp-6.5
all
- ubuntu•linux-gcp-fips
all | < 5.4.0-1117.126+fips1
- ubuntu•linux-gke
all | < 5.15.0-1046.51
- ubuntu•linux-gke-4.15
all
Showing first 50 affected entries in server-rendered view.
References (12)
- https://git.kernel.org/stable/c/c2312e1d12b1c3ee4100c173131b102e2aed4d04
- https://git.kernel.org/stable/c/124e39a734cb90658b8f0dc110847bbfc6e33792
- https://git.kernel.org/stable/c/c9f56f3c7bc908caa772112d3ae71cdd5d18c257
- https://git.kernel.org/stable/c/994c2ceb70ea99264ccc6f09e6703ca267dad63c
- https://git.kernel.org/stable/c/fa92c463eba75dcedbd8d689ffdcb83293aaa0c3
- https://git.kernel.org/stable/c/39695e87d86f0e7d897fba1d2559f825aa20caeb
- https://git.kernel.org/stable/c/41f63b72a01c0e0ac59ab83fd2d921fcce0f602d
- https://git.kernel.org/stable/c/004d25060c78fc31f66da0fa439c544dda1ac9d5
- https://ubuntu.com/security/CVE-2023-53148
- https://www.cve.org/CVERecord?id=CVE-2023-53148
- https://git.kernel.org/linus/004d25060c78fc31f66da0fa439c544dda1ac9d5
- https://security-tracker.debian.org/tracker/CVE-2023-53148