Cloudanix VulnDB

CVE-2021-47081

None

CVSS

—

EPSS

0.2%

Published

Mar 1, 2024

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A memory-handling mistake in specialized accelerator hardware support can let an attacker on the same machine corrupt critical system memory and potentially take control.

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

What it actually does

Use-after-free in habanalabs Gaudi driver when hl_cs_allocate_job fails after hl_cb_kernel_create obtains a command buffer with elevated refcount; one reference is dropped via hl_cb_put and the buffer may be freed by a concurrent thread before cb->id is dereferenced.

Why it matters to the business

Kernel memory corruption on systems using Habanalabs Gaudi accelerators can lead to crashes, denial of service, or local privilege escalation; organizations running AI/ML workloads on affected hardware face unplanned downtime and potential data exposure until kernels are updated.

How an attack unfolds

An attacker with local access triggers the failure path in gaudi_memset_device_memory by forcing hl_cs_allocate_job to fail after the command buffer is created, races the reference-count drop, and reuses the freed object via its id field to corrupt kernel memory.

How to fix it

Apply a Linux kernel containing the upstream fix that saves cb->id before the hl_cb_put call; rebuild and reboot all affected systems or distributions that ship the habanalabs driver.

How to confirm the fix worked

Confirm the presence of the variable assignment for cb->id prior to hl_cb_put in gaudi_memset_device_memory; run kernel regression tests exercising command-buffer allocation failure paths; verify no UAF reports from KASAN or similar sanitizers under load.

Typical attack path

  1. Obtain local code execution on a system with Habanalabs Gaudi hardware and load the driver
  2. Craft input that causes hl_cs_allocate_job to fail inside gaudi_memset_device_memory
  3. Trigger the release_cb branch so hl_cb_put drops a reference while another thread may free the buffer
  4. Reuse the dangling cb->id pointer to read or write kernel memory
  5. Escalate to kernel code execution or cause denial of service

How to detect it

Search kernel logs for oops or panic messages mentioning gaudi_memset_device_memory or habanalabs; inspect audit logs for unusual command-buffer allocation failures followed by crashes on Gaudi-equipped hosts.

What your security team should do

  • Prioritize kernel updates on all systems exposing Habanalabs Gaudi accelerators
  • Restrict local access to accelerator nodes until patches are deployed
  • Monitor for kernel oops or KASAN reports referencing gaudi_memset_device_memory
  • Include the driver in routine vulnerability scanning and patch-management cycles

The record

In the Linux kernel, the following vulnerability has been resolved: habanalabs/gaudi: Fix a potential use after free in gaudi_memset_device_memory Our code analyzer reported a uaf. In gaudi_memset_device_memory, cb is get via hl_cb_kernel_create() with 2 refcount. If hl_cs_allocate_job() failed, the execution runs into release_cb branch. One ref of cb is dropped by hl_cb_put(cb) and could be freed if other thread also drops one ref. Then cb is used by cb->id later, which is a potential uaf. My patch add a variable 'id' to accept the value of cb->id before the hl_cb_put(cb) is called, to avoid the potential uaf.

Affected packages

Ecosystem Package Introduced Fixed
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
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-azure 0 5.13.0-1006.7
Ubuntu:22.04:LTS linux-azure-5.19 0 No fix
Ubuntu:22.04:LTS linux-azure-6.2 0 No fix
Ubuntu:22.04:LTS linux-azure-6.5 0 6.5.0-1007.7~22.04.1
Ubuntu:22.04:LTS linux-azure-fde 0 5.15.0-1019.24.1
Ubuntu:22.04:LTS linux-azure-fde-5.19 0 No fix
Ubuntu:22.04:LTS linux-azure-fde-6.2 0 No fix
Ubuntu:22.04:LTS linux-gcp 0 5.13.0-1005.6
Ubuntu:22.04:LTS linux-gcp-5.19 0 No fix
Ubuntu:22.04:LTS linux-gcp-6.2 0 No fix
Ubuntu:22.04:LTS linux-gcp-6.5 0 6.5.0-1010.10~22.04.3
Ubuntu:22.04:LTS linux-gke 0 5.15.0-1002.2
Ubuntu:22.04:LTS linux-gkeop 0 5.15.0-1001.2
Ubuntu:22.04:LTS linux-hwe-5.19 0 No fix
Ubuntu:22.04:LTS linux-hwe-6.2 0 No fix
Ubuntu:22.04:LTS linux-hwe-6.5 0 6.5.0-14.14~22.04.1
Ubuntu:22.04:LTS linux-ibm 0 5.15.0-1002.2
Ubuntu:22.04:LTS linux-intel-iotg 0 5.15.0-1004.6
Ubuntu:22.04:LTS linux-kvm 0 5.13.0-1004.4
Ubuntu:22.04:LTS linux-lowlatency 0 5.15.0-22.22
Ubuntu:22.04:LTS linux-lowlatency-hwe-5.19 0 No fix
Ubuntu:22.04:LTS linux-lowlatency-hwe-6.2 0 No fix
Ubuntu:22.04:LTS linux-lowlatency-hwe-6.5 0 6.5.0-14.14.1~22.04.1
Ubuntu:22.04:LTS linux-nvidia 0 5.15.0-1005.5
Ubuntu:22.04:LTS linux-nvidia-6.2 0 No fix
Ubuntu:22.04:LTS linux-nvidia-6.5 0 6.5.0-1004.4
Ubuntu:22.04:LTS linux-nvidia-6.8 0 6.8.0-1008.8~22.04.1
Ubuntu:22.04:LTS linux-oem-5.17 0 No fix
Ubuntu:22.04:LTS linux-oem-6.0 0 No fix
Ubuntu:22.04:LTS linux-oem-6.1 0 No fix
Ubuntu:22.04:LTS linux-oem-6.5 0 6.5.0-1003.3
Ubuntu:22.04:LTS linux-oracle 0 5.13.0-1008.10
Ubuntu:22.04:LTS linux-oracle-6.5 0 6.5.0-1013.13~22.04.4
Ubuntu:22.04:LTS linux-raspi 0 5.13.0-1008.9
Ubuntu:22.04:LTS linux-riscv 0 No fix
Ubuntu:22.04:LTS linux-riscv-5.19 0 No fix
Ubuntu:22.04:LTS linux-riscv-6.5 0 6.5.0-17.17.1.1~22.04.1
Ubuntu:22.04:LTS linux-starfive-5.19 0 No fix
Ubuntu:22.04:LTS linux-starfive-6.2 0 No fix
Ubuntu:22.04:LTS linux-starfive-6.5 0 6.5.0-1007.8~22.04.1
Ubuntu:22.04:LTS linux-xilinx-zynqmp 0 5.15.0-1022.26
Ubuntu:24.04:LTS linux 0 6.5.0-9.9
Ubuntu:24.04:LTS linux-aws 0 6.5.0-1008.8
Ubuntu:24.04:LTS linux-azure 0 6.5.0-1007.7
Ubuntu:24.04:LTS linux-gcp 0 6.5.0-1007.7
Ubuntu:24.04:LTS linux-gke 0 6.8.0-1003.5
Ubuntu:24.04:LTS linux-gkeop 0 6.8.0-1001.3
Ubuntu:24.04:LTS linux-ibm 0 6.5.0-1009.9
Ubuntu:24.04:LTS linux-lowlatency 0 6.5.0-9.9.1
Ubuntu:24.04:LTS linux-nvidia 0 6.8.0-1007.7
Ubuntu:24.04:LTS linux-nvidia-lowlatency 0 6.8.0-1009.9.1
Ubuntu:24.04:LTS linux-oem-6.8 0 6.8.0-1003.3
Ubuntu:24.04:LTS linux-oracle 0 6.5.0-1010.10
Ubuntu:24.04:LTS linux-raspi 0 6.5.0-1005.7
Ubuntu:24.04:LTS linux-riscv 0 6.5.0-9.9.1
Ubuntu:Pro:16.04:LTS linux-hwe-edge 0 No fix
Ubuntu:Pro:18.04:LTS linux-aws-5.0 0 No fix
Ubuntu:Pro:18.04:LTS linux-aws-5.3 0 No fix
Ubuntu:Pro:18.04:LTS linux-azure 0 No fix
Ubuntu:Pro:18.04:LTS linux-azure-5.3 0 No fix
Ubuntu:Pro:18.04:LTS linux-azure-edge 0 No fix
Ubuntu:Pro:18.04:LTS linux-gcp 0 No fix
Ubuntu:Pro:18.04:LTS linux-gcp-5.3 0 No fix
Ubuntu:Pro:18.04:LTS linux-gke-4.15 0 No fix
Ubuntu:Pro:18.04:LTS linux-gke-5.4 0 No fix
Ubuntu:Pro:18.04:LTS linux-gkeop-5.4 0 No fix
Ubuntu:Pro:18.04:LTS linux-hwe 0 No fix
Ubuntu:Pro:18.04:LTS linux-hwe-edge 0 No fix
Ubuntu:Pro:18.04:LTS linux-oem 0 No fix
Ubuntu:Pro:18.04:LTS linux-oracle-5.0 0 No fix
Ubuntu:Pro:18.04:LTS linux-oracle-5.3 0 No fix
Ubuntu:Pro:20.04:LTS linux-aws-5.11 0 No fix
Ubuntu:Pro:20.04:LTS linux-aws-5.13 0 No fix
Ubuntu:Pro:20.04:LTS linux-aws-5.8 0 No fix
Ubuntu:Pro:20.04:LTS linux-azure-5.11 0 No fix
Ubuntu:Pro:20.04:LTS linux-azure-5.13 0 No fix
Ubuntu:Pro:20.04:LTS linux-azure-5.8 0 No fix
Ubuntu:Pro:20.04:LTS linux-azure-fde 0 No fix
Ubuntu:Pro:20.04:LTS linux-gcp-5.11 0 No fix
Ubuntu:Pro:20.04:LTS linux-gcp-5.13 0 No fix
Ubuntu:Pro:20.04:LTS linux-gcp-5.8 0 No fix
Ubuntu:Pro:20.04:LTS linux-gke 0 No fix
Ubuntu:Pro:20.04:LTS linux-gke-5.15 0 No fix
Ubuntu:Pro:20.04:LTS linux-hwe-5.11 0 No fix
Ubuntu:Pro:20.04:LTS linux-hwe-5.13 0 No fix
Ubuntu:Pro:20.04:LTS linux-hwe-5.8 0 No fix
Ubuntu:Pro:20.04:LTS linux-intel-5.13 0 No fix
Ubuntu:Pro:20.04:LTS linux-oem-5.10 0 No fix
Ubuntu:Pro:20.04:LTS linux-oem-5.13 0 No fix
Ubuntu:Pro:20.04:LTS linux-oem-5.14 0 No fix
Ubuntu:Pro:20.04:LTS linux-oem-5.6 0 No fix
Ubuntu:Pro:20.04:LTS linux-oracle-5.11 0 No fix
Ubuntu:Pro:20.04:LTS linux-oracle-5.13 0 No fix
Ubuntu:Pro:20.04:LTS linux-oracle-5.8 0 No fix
Ubuntu:Pro:20.04:LTS linux-raspi2 0 No fix
Ubuntu:Pro:20.04:LTS linux-riscv 0 No fix
Ubuntu:Pro:20.04:LTS linux-riscv-5.11 0 No fix
Ubuntu:Pro:20.04:LTS linux-riscv-5.8 0 No fix
Ubuntu:Pro:FIPS-updates:18.04:LTS linux-aws-fips 0 4.15.0-2000.4
Ubuntu:Pro:FIPS-updates:18.04:LTS linux-azure-fips 0 4.15.0-1002.2
Ubuntu:Pro:FIPS-updates:18.04:LTS linux-fips 0 4.15.0-1027.32
Ubuntu:Pro:FIPS-updates:18.04:LTS linux-gcp-fips 0 4.15.0-2013.14
Ubuntu:Pro:FIPS-updates:20.04:LTS linux-aws-fips 0 5.4.0-1021.21+fips2
Ubuntu:Pro:FIPS-updates:20.04:LTS linux-azure-fips 0 5.4.0-1022.22+fips1
Ubuntu:Pro:FIPS-updates:20.04:LTS linux-fips 0 5.4.0-1026.30
Ubuntu:Pro:FIPS-updates:20.04:LTS linux-gcp-fips 0 5.4.0-1021.21+fips1
Ubuntu:Pro:FIPS:16.04:LTS linux-fips 0 4.4.0-1003.3
Ubuntu:Pro:FIPS:18.04:LTS linux-aws-fips 0 4.15.0-2000.4
Ubuntu:Pro:FIPS:18.04:LTS linux-azure-fips 0 4.15.0-1002.2
Ubuntu:Pro:FIPS:18.04:LTS linux-fips 0 4.15.0-1011.12
Ubuntu:Pro:FIPS:18.04:LTS linux-gcp-fips 0 4.15.0-1001.1
Ubuntu:Pro:FIPS:20.04:LTS linux-aws-fips 0 5.4.0-1021.21+fips2
Ubuntu:Pro:FIPS:20.04:LTS linux-azure-fips 0 5.4.0-1022.22+fips1
Ubuntu:Pro:FIPS:20.04:LTS linux-fips 0 5.4.0-1007.8
Ubuntu:Pro:FIPS:20.04:LTS linux-gcp-fips 0 5.4.0-1021.21+fips1

Related vulnerabilities