Cloudanix VulnDB

CVE-2021-47239

None

CVSS

—

EPSS

0.2%

Published

May 21, 2024

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in how Linux handles certain USB network adapters could let an attacker crash the computer or gain elevated access.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Moderate
Impact
Privilege Gain
Component
OS kernel
Class
Use After Free
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Use-after-free in smsc75xx_bind where a work item scheduled via smsc75xx_reset->smsc75xx_set_multicast can execute after the netdev private data has been freed because cancel_work_sync is missing and a dangling pointer remains in dev->data[0].

Why it matters to the business

Linux systems using SMSC75xx USB Ethernet adapters face risk of kernel crashes or local privilege escalation, potentially leading to downtime or full host compromise on affected hardware.

How an attack unfolds

An attacker with local access triggers repeated bind/unbind cycles on an SMSC75xx device while multicast updates are pending, allowing the orphaned work to dereference freed memory after the previous commit's incomplete cleanup.

How to fix it

Apply the upstream fix that inserts cancel_work_sync on the reset work item and clears the dangling dev->data[0] pointer before returning from smsc75xx_bind; rebuild and boot the patched kernel.

How to confirm the fix worked

Inspect the smsc75xx.c source for the cancel_work_sync call and NULL assignment in the bind routine; confirm the change appears after commit 46a8b29c6306 and test device attach/detach under load.

Typical attack path

  1. Attach SMSC75xx USB Ethernet device
  2. Configure multicast or trigger smsc75xx_set_multicast path
  3. Initiate device removal or driver unbind to free the structure
  4. Permit the scheduled work to run after deallocation

How to detect it

Review dmesg, journalctl, or /var/log/kern.log for use-after-free or general protection fault messages that reference smsc75xx_bind, smsc75xx_reset, or the workqueue function; correlate with USB device attach events.

What your security team should do

  • Update to a kernel containing the referenced fix as soon as possible
  • Restrict unprivileged USB device access via udev or physical controls
  • Monitor kernel logs for smsc75xx-related oops or slab-use-after-free warnings

The record

In the Linux kernel, the following vulnerability has been resolved: net: usb: fix possible use-after-free in smsc75xx_bind The commit 46a8b29c6306 ("net: usb: fix memory leak in smsc75xx_bind") fails to clean up the work scheduled in smsc75xx_reset-> smsc75xx_set_multicast, which leads to use-after-free if the work is scheduled to start after the deallocation. In addition, this patch also removes a dangling pointer - dev->data[0]. This patch calls cancel_work_sync to cancel the scheduled work and set the dangling pointer to NULL.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 linux 0 5.10.46-1
Debian:12 linux 0 5.10.46-1
Debian:13 linux 0 5.10.46-1
SUSE:Enterprise Storage 7.1 kernel-64kb 0 5.3.18-150300.59.164.1
SUSE:Enterprise Storage 7.1 kernel-default 0 5.3.18-150300.59.164.1
SUSE:Enterprise Storage 7.1 kernel-default-base 0 5.3.18-150300.59.164.1.150300.18.96.1
SUSE:Enterprise Storage 7.1 kernel-docs 0 5.3.18-150300.59.164.1
SUSE:Enterprise Storage 7.1 kernel-obs-build 0 5.3.18-150300.59.164.1
SUSE:Enterprise Storage 7.1 kernel-preempt 0 5.3.18-150300.59.164.1
SUSE:Enterprise Storage 7.1 kernel-source 0 5.3.18-150300.59.164.1
SUSE:Enterprise Storage 7.1 kernel-syms 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise High Availability Extension 12 SP5 kernel-default 0 4.12.14-122.219.1
SUSE:Linux Enterprise High Availability Extension 15 SP2 kernel-default 0 5.3.18-150200.24.194.1
SUSE:Linux Enterprise High Availability Extension 15 SP3 kernel-default 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-default 0 5.3.18-150200.24.194.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-default-base 0 5.3.18-150200.24.194.1.150200.9.99.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-docs 0 5.3.18-150200.24.194.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-obs-build 0 5.3.18-150200.24.194.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-preempt 0 5.3.18-150200.24.194.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-source 0 5.3.18-150200.24.194.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-syms 0 5.3.18-150200.24.194.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-64kb 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-default 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-default-base 0 5.3.18-150300.59.164.1.150300.18.96.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-docs 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-obs-build 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-preempt 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-source 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-syms 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise Live Patching 12 SP5 kernel-default 0 4.12.14-122.219.1
SUSE:Linux Enterprise Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_57 0 1-8.3.1
SUSE:Linux Enterprise Live Patching 15 SP2 kernel-default 0 5.3.18-150200.24.194.1
SUSE:Linux Enterprise Live Patching 15 SP2 kernel-livepatch-SLE15-SP2_Update_49 0 1-150200.5.3.1
SUSE:Linux Enterprise Live Patching 15 SP3 kernel-default 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_45 0 1-150300.7.3.1
SUSE:Linux Enterprise Micro 5.1 kernel-default 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise Micro 5.1 kernel-default-base 0 5.3.18-150300.59.164.1.150300.18.96.1
SUSE:Linux Enterprise Micro 5.1 kernel-rt 0 5.3.18-150300.172.1
SUSE:Linux Enterprise Micro 5.1 kernel-source-rt 0 5.3.18-150300.172.1
SUSE:Linux Enterprise Micro 5.2 kernel-default 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise Micro 5.2 kernel-default-base 0 5.3.18-150300.59.164.1.150300.18.96.1
SUSE:Linux Enterprise Micro 5.2 kernel-rt 0 5.3.18-150300.172.1
SUSE:Linux Enterprise Micro 5.2 kernel-source-rt 0 5.3.18-150300.172.1
SUSE:Linux Enterprise Real Time 12 SP5 kernel-rt 0 4.12.14-10.188.1
SUSE:Linux Enterprise Real Time 12 SP5 kernel-rt_debug 0 4.12.14-10.188.1
SUSE:Linux Enterprise Real Time 12 SP5 kernel-source-rt 0 4.12.14-10.188.1
SUSE:Linux Enterprise Real Time 12 SP5 kernel-syms-rt 0 4.12.14-10.188.1
SUSE:Linux Enterprise Server 12 SP5 kernel-azure 0 4.12.14-16.188.1
SUSE:Linux Enterprise Server 12 SP5 kernel-default 0 4.12.14-122.219.1
SUSE:Linux Enterprise Server 12 SP5 kernel-source 0 4.12.14-122.219.1
SUSE:Linux Enterprise Server 12 SP5 kernel-source-azure 0 4.12.14-16.188.1
SUSE:Linux Enterprise Server 12 SP5 kernel-syms 0 4.12.14-122.219.1
SUSE:Linux Enterprise Server 12 SP5 kernel-syms-azure 0 4.12.14-16.188.1
SUSE:Linux Enterprise Server 15 SP2-LTSS kernel-default 0 5.3.18-150200.24.194.1
SUSE:Linux Enterprise Server 15 SP2-LTSS kernel-default-base 0 5.3.18-150200.24.194.1.150200.9.99.1
SUSE:Linux Enterprise Server 15 SP2-LTSS kernel-docs 0 5.3.18-150200.24.194.1
SUSE:Linux Enterprise Server 15 SP2-LTSS kernel-obs-build 0 5.3.18-150200.24.194.1
SUSE:Linux Enterprise Server 15 SP2-LTSS kernel-preempt 0 5.3.18-150200.24.194.1
SUSE:Linux Enterprise Server 15 SP2-LTSS kernel-source 0 5.3.18-150200.24.194.1
SUSE:Linux Enterprise Server 15 SP2-LTSS kernel-syms 0 5.3.18-150200.24.194.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-64kb 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-default 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-default-base 0 5.3.18-150300.59.164.1.150300.18.96.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-docs 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-obs-build 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-preempt 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-source 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-syms 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-zfcpdump 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 kernel-azure 0 4.12.14-16.188.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 kernel-default 0 4.12.14-122.219.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 kernel-source 0 4.12.14-122.219.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 kernel-source-azure 0 4.12.14-16.188.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 kernel-syms 0 4.12.14-122.219.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 kernel-syms-azure 0 4.12.14-16.188.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 kernel-default 0 5.3.18-150200.24.194.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 kernel-default-base 0 5.3.18-150200.24.194.1.150200.9.99.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 kernel-docs 0 5.3.18-150200.24.194.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 kernel-obs-build 0 5.3.18-150200.24.194.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 kernel-preempt 0 5.3.18-150200.24.194.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 kernel-source 0 5.3.18-150200.24.194.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 kernel-syms 0 5.3.18-150200.24.194.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 kernel-default 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 kernel-default-base 0 5.3.18-150300.59.164.1.150300.18.96.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 kernel-docs 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 kernel-obs-build 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 kernel-preempt 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 kernel-source 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 kernel-syms 0 5.3.18-150300.59.164.1
SUSE:Linux Enterprise Software Development Kit 12 SP5 kernel-docs 0 4.12.14-122.219.1
SUSE:Linux Enterprise Software Development Kit 12 SP5 kernel-obs-build 0 4.12.14-122.219.1
SUSE:Linux Enterprise Workstation Extension 12 SP5 kernel-default 0 4.12.14-122.219.1
Ubuntu:14.04:LTS linux 0 3.11.0-12.19
Ubuntu:14.04:LTS linux-aws 0 4.4.0-1002.2
Ubuntu:14.04:LTS linux-azure 0 4.15.0-1023.24~14.04.1
Ubuntu:14.04:LTS linux-lts-xenial 0 4.4.0-13.29~14.04.1
Ubuntu:16.04:LTS linux 0 4.4.0-2.16
Ubuntu:16.04:LTS linux-aws 0 4.4.0-1001.10
Ubuntu:16.04:LTS linux-aws-hwe 0 4.15.0-1030.31~16.04.1
Ubuntu:16.04:LTS linux-azure 0 4.11.0-1009.9
Ubuntu:16.04:LTS linux-gcp 0 4.10.0-1004.4
Ubuntu:16.04:LTS linux-hwe 0 4.8.0-39.42~16.04.1
Ubuntu:16.04:LTS linux-hwe-edge 0 No fix
Ubuntu:16.04:LTS linux-kvm 0 4.4.0-1004.9
Ubuntu:16.04:LTS linux-oracle 0 4.15.0-1007.9~16.04.1
Ubuntu:18.04:LTS linux 0 4.15.0-156.163
Ubuntu:18.04:LTS linux-aws 0 4.15.0-1111.118
Ubuntu:18.04:LTS linux-aws-5.0 0 No fix
Ubuntu:18.04:LTS linux-aws-5.3 0 No fix
Ubuntu:18.04:LTS linux-aws-5.4 0 5.4.0-1055.58~18.04.1
Ubuntu:18.04:LTS linux-azure 0 No fix
Ubuntu:18.04:LTS linux-azure-4.15 0 4.15.0-1123.136
Ubuntu:18.04:LTS linux-azure-5.3 0 No fix
Ubuntu:18.04:LTS linux-azure-5.4 0 5.4.0-1056.58~18.04.1
Ubuntu:18.04:LTS linux-azure-edge 0 No fix
Ubuntu:18.04:LTS linux-gcp 0 No fix
Ubuntu:18.04:LTS linux-gcp-4.15 0 4.15.0-1108.122
Ubuntu:18.04:LTS linux-gcp-5.3 0 No fix
Ubuntu:18.04:LTS linux-gcp-5.4 0 5.4.0-1051.55~18.04.1
Ubuntu:18.04:LTS linux-gke-4.15 0 No fix
Ubuntu:18.04:LTS linux-gke-5.4 0 No fix
Ubuntu:18.04:LTS linux-gkeop-5.4 0 No fix
Ubuntu:18.04:LTS linux-hwe 0 No fix
Ubuntu:18.04:LTS linux-hwe-5.4 0 5.4.0-81.91~18.04.1
Ubuntu:18.04:LTS linux-hwe-edge 0 5.0.0-15.16~18.04.1
Ubuntu:18.04:LTS linux-ibm-5.4 0 5.4.0-1010.11~18.04.2
Ubuntu:18.04:LTS linux-kvm 0 4.15.0-1099.101
Ubuntu:18.04:LTS linux-oem 0 No fix
Ubuntu:18.04:LTS linux-oracle 0 4.15.0-1080.88
Ubuntu:18.04:LTS linux-oracle-5.0 0 No fix
Ubuntu:18.04:LTS linux-oracle-5.3 0 No fix
Ubuntu:18.04:LTS linux-oracle-5.4 0 5.4.0-1053.57~18.04.1
Ubuntu:18.04:LTS linux-raspi-5.4 0 5.4.0-1042.46~18.04.3
Ubuntu:20.04:LTS linux 0 No fix
Ubuntu:20.04:LTS linux 0 5.4.0-81.91
Ubuntu:20.04:LTS linux-aws 0 No fix
Ubuntu:20.04:LTS linux-aws 0 5.4.0-1055.58
Ubuntu:20.04:LTS linux-aws-5.11 0 No fix
Ubuntu:20.04:LTS linux-aws-5.13 0 No fix
Ubuntu:20.04:LTS linux-aws-5.15 0 5.15.0-1014.18~20.04.1
Ubuntu:20.04:LTS linux-aws-5.8 0 No fix
Ubuntu:20.04:LTS linux-azure 0 No fix
Ubuntu:20.04:LTS linux-azure 0 5.4.0-1056.58
Ubuntu:20.04:LTS linux-azure-5.11 0 No fix
Ubuntu:20.04:LTS linux-azure-5.13 0 No fix
Ubuntu:20.04:LTS linux-azure-5.15 0 5.15.0-1007.8~20.04.1
Ubuntu:20.04:LTS linux-azure-5.8 0 No fix
Ubuntu:20.04:LTS linux-azure-fde 0 No fix
Ubuntu:20.04:LTS linux-azure-fde-5.15 0 5.15.0-1019.24~20.04.1.1
Ubuntu:20.04:LTS linux-bluefield 0 No fix
Ubuntu:20.04:LTS linux-bluefield 0 5.4.0-1019.22
Ubuntu:20.04:LTS linux-gcp 0 No fix
Ubuntu:20.04:LTS linux-gcp 0 5.4.0-1051.55
Ubuntu:20.04:LTS linux-gcp-5.11 0 No fix
Ubuntu:20.04:LTS linux-gcp-5.13 0 No fix
Ubuntu:20.04:LTS linux-gcp-5.15 0 5.15.0-1006.9~20.04.1
Ubuntu:20.04:LTS linux-gcp-5.8 0 No fix
Ubuntu:20.04:LTS linux-gke 0 No fix
Ubuntu:20.04:LTS linux-gke-5.15 0 No fix
Ubuntu:20.04:LTS linux-gkeop 0 No fix
Ubuntu:20.04:LTS linux-gkeop 0 5.4.0-1022.23
Ubuntu:20.04:LTS linux-gkeop-5.15 0 5.15.0-1003.5~20.04.2
Ubuntu:20.04:LTS linux-hwe-5.11 0 No fix
Ubuntu:20.04:LTS linux-hwe-5.13 0 No fix
Ubuntu:20.04:LTS linux-hwe-5.15 0 5.15.0-33.34~20.04.1
Ubuntu:20.04:LTS linux-hwe-5.8 0 No fix
Ubuntu:20.04:LTS linux-ibm 0 5.4.0-1003.4
Ubuntu:20.04:LTS linux-ibm-5.15 0 5.15.0-1033.36~20.04.1
Ubuntu:20.04:LTS linux-intel-5.13 0 No fix
Ubuntu:20.04:LTS linux-intel-iotg-5.15 0 5.15.0-1003.5~20.04.1
Ubuntu:20.04:LTS linux-iot 0 5.4.0-1001.3
Ubuntu:20.04:LTS linux-kvm 0 No fix
Ubuntu:20.04:LTS linux-kvm 0 5.4.0-1045.47
Ubuntu:20.04:LTS linux-lowlatency-hwe-5.15 0 5.15.0-33.34~20.04.1
Ubuntu:20.04:LTS linux-oem-5.10 0 No fix
Ubuntu:20.04:LTS linux-oem-5.13 0 No fix
Ubuntu:20.04:LTS linux-oem-5.14 0 No fix
Ubuntu:20.04:LTS linux-oem-5.6 0 No fix
Ubuntu:20.04:LTS linux-oracle 0 No fix
Ubuntu:20.04:LTS linux-oracle 0 5.4.0-1053.57
Ubuntu:20.04:LTS linux-oracle-5.11 0 No fix
Ubuntu:20.04:LTS linux-oracle-5.13 0 No fix
Ubuntu:20.04:LTS linux-oracle-5.15 0 5.15.0-1007.9~20.04.1
Ubuntu:20.04:LTS linux-oracle-5.8 0 No fix
Ubuntu:20.04:LTS linux-raspi 0 No fix
Ubuntu:20.04:LTS linux-raspi 0 5.4.0-1042.46
Ubuntu:20.04:LTS linux-raspi2 0 No fix
Ubuntu:20.04:LTS linux-riscv 0 No fix
Ubuntu:20.04:LTS linux-riscv-5.11 0 No fix
Ubuntu:20.04:LTS linux-riscv-5.15 0 5.15.0-1015.17~20.04.1
Ubuntu:20.04:LTS linux-riscv-5.8 0 No fix
Ubuntu:20.04:LTS linux-xilinx-zynqmp 0 5.4.0-1020.24
Ubuntu:22.04:LTS linux 0 5.13.0-19.19
Ubuntu:22.04:LTS linux-allwinner-5.19 0 No fix
Ubuntu:22.04:LTS linux-aws 0 5.13.0-1005.6
Ubuntu:22.04:LTS linux-aws-5.19 0 No fix
Ubuntu:22.04:LTS linux-aws-6.2 0 No fix
Ubuntu:22.04:LTS linux-aws-6.5 0 6.5.0-1008.8~22.04.1
Ubuntu:22.04:LTS linux-aws-6.8 0 6.8.0-1009.9~22.04.2
Ubuntu:22.04:LTS linux-azure 0 5.13.0-1006.7

Related vulnerabilities