Cloudanix VulnDB

CVE-2021-47287

None

CVSS

—

EPSS

0.2%

Published

May 21, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A Linux kernel bug can slowly waste memory when certain driver operations fail, potentially causing slowdowns or crashes on affected systems.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Theoretical
Impact
Denial Of Service
Component
OS kernel
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Memory leak in auxiliary bus driver registration error path: failure of driver_register() leaves auxdrv->driver.name allocation unfreed before return from __auxiliary_driver_register().

Why it matters to the business

Repeated driver registration failures on Linux systems can gradually exhaust kernel memory, leading to degraded performance, stability issues, or denial of service in environments with many auxiliary devices or frequent driver load attempts.

How an attack unfolds

An attacker with local access or the ability to trigger auxiliary driver registration attempts (such as through module loading or device enumeration) repeatedly forces the error path in driver_register() to accumulate unfreed kernel memory allocations until system resources are exhausted.

How to fix it

Update to a Linux kernel version containing the fix for the auxiliary bus driver registration memory leak; apply the patch that frees auxdrv->driver.name on driver_register() error.

How to confirm the fix worked

Confirm the presence of the fix by inspecting the __auxiliary_driver_register() function in the kernel source for the error-handling free of auxdrv->driver.name; test by forcing driver_register() failures and monitoring for memory growth.

Typical attack path

  1. Obtain local execution or module loading privileges on a Linux system.
  2. Trigger repeated auxiliary driver registration attempts that cause driver_register() to fail.
  3. Accumulate unfreed name string allocations in kernel memory over multiple failures.
  4. Continue until kernel memory pressure causes system instability or DoS.

How to detect it

Review kernel logs for repeated auxiliary driver registration errors; use memory profiling tools to observe growth in kernel allocations tied to driver name strings during driver load attempts.

What your security team should do

  • Prioritize kernel updates on all Linux systems using auxiliary bus drivers.
  • Monitor for kernel memory pressure indicators in production environments.
  • Review any custom auxiliary drivers for similar error-path handling issues.

The record

In the Linux kernel, the following vulnerability has been resolved: driver core: auxiliary bus: Fix memory leak when driver_register() fail If driver_register() returns with error we need to free the memory allocated for auxdrv->driver.name before returning from __auxiliary_driver_register()

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 bpftool 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 kernel 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 kernel-abi-stablelists 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 kernel-core 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 kernel-cross-headers 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 kernel-debug 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 kernel-debug-core 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 kernel-debug-devel 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 kernel-debug-modules 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 kernel-debug-modules-extra 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 kernel-devel 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 kernel-doc 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 kernel-headers 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 kernel-modules 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 kernel-modules-extra 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 kernel-rt 0 4.18.0-553.22.1.rt7.363.el8_10
AlmaLinux:8 kernel-rt-core 0 4.18.0-553.22.1.rt7.363.el8_10
AlmaLinux:8 kernel-rt-debug 0 4.18.0-553.22.1.rt7.363.el8_10
AlmaLinux:8 kernel-rt-debug-core 0 4.18.0-553.22.1.rt7.363.el8_10
AlmaLinux:8 kernel-rt-debug-devel 0 4.18.0-553.22.1.rt7.363.el8_10
AlmaLinux:8 kernel-rt-debug-kvm 0 4.18.0-553.22.1.rt7.363.el8_10
AlmaLinux:8 kernel-rt-debug-modules 0 4.18.0-553.22.1.rt7.363.el8_10
AlmaLinux:8 kernel-rt-debug-modules-extra 0 4.18.0-553.22.1.rt7.363.el8_10
AlmaLinux:8 kernel-rt-devel 0 4.18.0-553.22.1.rt7.363.el8_10
AlmaLinux:8 kernel-rt-kvm 0 4.18.0-553.22.1.rt7.363.el8_10
AlmaLinux:8 kernel-rt-modules 0 4.18.0-553.22.1.rt7.363.el8_10
AlmaLinux:8 kernel-rt-modules-extra 0 4.18.0-553.22.1.rt7.363.el8_10
AlmaLinux:8 kernel-tools 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 kernel-tools-libs 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 kernel-tools-libs-devel 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 kernel-zfcpdump 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 kernel-zfcpdump-core 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 kernel-zfcpdump-devel 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 kernel-zfcpdump-modules 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 kernel-zfcpdump-modules-extra 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 perf 0 4.18.0-553.22.1.el8_10
AlmaLinux:8 python3-perf 0 4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos bpftool 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos bpftool-debuginfo 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-abi-stablelists 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-core 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-cross-headers 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-debug 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-debug-core 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-debug-debuginfo 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-debug-devel 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-debug-modules 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-debug-modules-extra 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-debuginfo 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-aarch64 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-ppc64le 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-s390x 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-x86_64 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-devel 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-doc 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-headers 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-modules 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-modules-extra 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-tools 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-tools-debuginfo 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-tools-libs 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-tools-libs-devel 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-core 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-debuginfo 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-devel 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-modules 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-modules-extra 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos perf 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos perf-debuginfo 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos python3-perf 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::baseos python3-perf-debuginfo 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb bpftool 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb bpftool-debuginfo 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-abi-stablelists 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-core 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-cross-headers 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-debug 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-debug-core 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-debug-debuginfo 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-debug-devel 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-debug-modules 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-debug-modules-extra 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-debuginfo 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-aarch64 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-ppc64le 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-s390x 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-x86_64 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-devel 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-doc 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-headers 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-modules 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-modules-extra 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-tools 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-tools-debuginfo 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-tools-libs 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-tools-libs-devel 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-zfcpdump 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-core 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-debuginfo 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-devel 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-modules 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-modules-extra 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb perf 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb perf-debuginfo 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb python3-perf 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::crb python3-perf-debuginfo 0 0:4.18.0-553.22.1.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-core 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-debug 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-core 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-debuginfo 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-devel 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-kvm 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-modules 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-debug-modules-extra 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-debuginfo 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-debuginfo-common-x86_64 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-devel 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-kvm 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-modules 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::nfv kernel-rt-modules-extra 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-core 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-debug 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-core 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-debuginfo 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-devel 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-kvm 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-modules 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-debug-modules-extra 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-debuginfo 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-debuginfo-common-x86_64 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-devel 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-kvm 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-modules 0 0:4.18.0-553.22.1.rt7.363.el8_10
Red Hat:enterprise_linux:8::realtime kernel-rt-modules-extra 0 0:4.18.0-553.22.1.rt7.363.el8_10
Rocky Linux:8 kernel-rt 0 0:4.18.0-553.22.1.rt7.363.el8_10
Ubuntu:16.04:LTS linux-hwe-edge 0 No fix
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-azure 0 No fix
Ubuntu:18.04:LTS linux-azure-5.3 0 No fix
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-5.3 0 No fix
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-edge 0 No fix
Ubuntu:18.04:LTS linux-oem 0 No fix
Ubuntu:18.04:LTS linux-oracle-5.0 0 No fix
Ubuntu:18.04:LTS linux-oracle-5.3 0 No fix
Ubuntu:20.04:LTS linux 0 5.4.0-9.12
Ubuntu:20.04:LTS linux-aws 0 5.4.0-1005.5
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 5.4.0-1006.6
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 5.4.0-1007.10
Ubuntu:20.04:LTS linux-gcp 0 5.4.0-1005.5
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 5.4.0-1008.9
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 5.4.0-1004.4
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 5.4.0-1005.5
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 5.4.0-1007.7

Related vulnerabilities