Cloudanix VulnDB

CVE-2021-47056

None

CVSS

—

EPSS

0.2%

Published

Feb 29, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A timing mistake in Linux kernel code that talks to certain Intel hardware cards can make the whole computer crash when those cards start or stop.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Moderate
Impact
Denial Of Service
Component
OS kernel
Class
Race Condition
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Improper initialization ordering sets ADF_STATUS_PF_RUNNING before adf_dev_init succeeds, allowing adf_vf2pf_shutdown to call adf_iov_putmsg and perform mutex_lock on an uninitialized or destroyed vf2pf_lock, resulting in KASAN-detected user-memory-access.

Why it matters to the business

Systems using Intel QAT virtual functions may suffer kernel crashes or instability during device probe failures or shutdown, causing denial of service and potential data loss on affected Linux hosts.

How an attack unfolds

An attacker with local access triggers adf_dev_init failure paths while the status flag remains set, causing subsequent shutdown code to dereference an invalid lock and panic the kernel.

How to fix it

Apply the upstream kernel fix that moves the ADF_STATUS_PF_RUNNING assignment to occur only after adf_dev_init returns success; rebuild and deploy the patched kernel on affected hosts.

How to confirm the fix worked

Confirm the corrected conditional flag assignment appears after the adf_dev_init return-value check in the QAT driver source; test VF attach/detach cycles for absence of KASAN reports.

Typical attack path

  1. Cause adf_dev_init to return non-zero (e.g., via resource contention or malformed VF configuration)
  2. Invoke adf_dev_shutdown which checks ADF_STATUS_PF_RUNNING
  3. Execute adf_vf2pf_shutdown leading to mutex_lock on uninitialized vf2pf_lock

How to detect it

Search kernel logs and crash dumps for KASAN user-memory-access reports referencing __mutex_lock, adf_iov_putmsg, adf_vf2pf_shutdown, or the qat_dh895xccvf module during probe or shutdown sequences.

  • BUG: KASAN: user-memory-access in __mutex_lock.isra.0
  • adf_iov_putmsg+0x118
  • adf_vf2pf_shutdown+0x4d
  • qat_dh895xccvf

What your security team should do

  • Prioritize kernel updates containing the QAT ordering fix on any system exposing Intel QAT VFs
  • Disable QAT VF drivers where the hardware is not required
  • Include QAT-related KASAN signatures in kernel crash monitoring

The record

In the Linux kernel, the following vulnerability has been resolved: crypto: qat - ADF_STATUS_PF_RUNNING should be set after adf_dev_init ADF_STATUS_PF_RUNNING is (only) used and checked by adf_vf2pf_shutdown() before calling adf_iov_putmsg()->mutex_lock(vf2pf_lock), however the vf2pf_lock is initialized in adf_dev_init(), which can fail and when it fail, the vf2pf_lock is either not initialized or destroyed, a subsequent use of vf2pf_lock will cause issue. To fix this issue, only set this flag if adf_dev_init() returns 0. [ 7.178404] BUG: KASAN: user-memory-access in __mutex_lock.isra.0+0x1ac/0x7c0 [ 7.180345] Call Trace: [ 7.182576] mutex_lock+0xc9/0xd0 [ 7.183257] adf_iov_putmsg+0x118/0x1a0 [intel_qat] [ 7.183541] adf_vf2pf_shutdown+0x4d/0x7b [intel_qat] [ 7.183834] adf_dev_shutdown+0x172/0x2b0 [intel_qat] [ 7.184127] adf_probe+0x5e9/0x600 [qat_dh895xccvf]

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 linux 0 5.10.38-1
Debian:12 linux 0 5.10.38-1
Debian:13 linux 0 5.10.38-1
SUSE:Enterprise Storage 7.1 kernel-64kb 0 5.3.18-150300.59.158.1
SUSE:Enterprise Storage 7.1 kernel-default 0 5.3.18-150300.59.158.1
SUSE:Enterprise Storage 7.1 kernel-default-base 0 5.3.18-150300.59.158.1.150300.18.92.5
SUSE:Enterprise Storage 7.1 kernel-docs 0 5.3.18-150300.59.158.1
SUSE:Enterprise Storage 7.1 kernel-obs-build 0 5.3.18-150300.59.158.1
SUSE:Enterprise Storage 7.1 kernel-preempt 0 5.3.18-150300.59.158.1
SUSE:Enterprise Storage 7.1 kernel-source 0 5.3.18-150300.59.158.1
SUSE:Enterprise Storage 7.1 kernel-syms 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise High Availability Extension 12 SP5 kernel-default 0 4.12.14-122.216.1
SUSE:Linux Enterprise High Availability Extension 15 SP2 kernel-default 0 5.3.18-150200.24.188.1
SUSE:Linux Enterprise High Availability Extension 15 SP3 kernel-default 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-default 0 5.3.18-150200.24.188.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-default-base 0 5.3.18-150200.24.188.1.150200.9.95.3
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-docs 0 5.3.18-150200.24.188.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-obs-build 0 5.3.18-150200.24.188.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-preempt 0 5.3.18-150200.24.188.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-source 0 5.3.18-150200.24.188.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-syms 0 5.3.18-150200.24.188.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-64kb 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-default 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-default-base 0 5.3.18-150300.59.158.1.150300.18.92.5
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-docs 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-obs-build 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-preempt 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-source 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-syms 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise Live Patching 12 SP5 kernel-default 0 4.12.14-122.216.1
SUSE:Linux Enterprise Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_56 0 1-8.3.1
SUSE:Linux Enterprise Live Patching 15 SP2 kernel-default 0 5.3.18-150200.24.188.1
SUSE:Linux Enterprise Live Patching 15 SP2 kernel-livepatch-SLE15-SP2_Update_47 0 1-150200.5.3.3
SUSE:Linux Enterprise Live Patching 15 SP3 kernel-default 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_43 0 1-150300.7.3.5
SUSE:Linux Enterprise Micro 5.1 kernel-default 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise Micro 5.1 kernel-default-base 0 5.3.18-150300.59.158.1.150300.18.92.5
SUSE:Linux Enterprise Micro 5.1 kernel-rt 0 5.3.18-150300.166.1
SUSE:Linux Enterprise Micro 5.1 kernel-source-rt 0 5.3.18-150300.166.1
SUSE:Linux Enterprise Micro 5.2 kernel-default 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise Micro 5.2 kernel-default-base 0 5.3.18-150300.59.158.1.150300.18.92.5
SUSE:Linux Enterprise Micro 5.2 kernel-rt 0 5.3.18-150300.166.1
SUSE:Linux Enterprise Micro 5.2 kernel-source-rt 0 5.3.18-150300.166.1
SUSE:Linux Enterprise Real Time 12 SP5 kernel-rt 0 4.12.14-10.182.1
SUSE:Linux Enterprise Real Time 12 SP5 kernel-rt_debug 0 4.12.14-10.182.1
SUSE:Linux Enterprise Real Time 12 SP5 kernel-source-rt 0 4.12.14-10.182.1
SUSE:Linux Enterprise Real Time 12 SP5 kernel-syms-rt 0 4.12.14-10.182.1
SUSE:Linux Enterprise Server 12 SP5 kernel-azure 0 4.12.14-16.182.1
SUSE:Linux Enterprise Server 12 SP5 kernel-default 0 4.12.14-122.216.1
SUSE:Linux Enterprise Server 12 SP5 kernel-source 0 4.12.14-122.216.1
SUSE:Linux Enterprise Server 12 SP5 kernel-source-azure 0 4.12.14-16.182.1
SUSE:Linux Enterprise Server 12 SP5 kernel-syms 0 4.12.14-122.216.1
SUSE:Linux Enterprise Server 12 SP5 kernel-syms-azure 0 4.12.14-16.182.1
SUSE:Linux Enterprise Server 15 SP2-LTSS kernel-default 0 5.3.18-150200.24.188.1
SUSE:Linux Enterprise Server 15 SP2-LTSS kernel-default-base 0 5.3.18-150200.24.188.1.150200.9.95.3
SUSE:Linux Enterprise Server 15 SP2-LTSS kernel-docs 0 5.3.18-150200.24.188.1
SUSE:Linux Enterprise Server 15 SP2-LTSS kernel-obs-build 0 5.3.18-150200.24.188.1
SUSE:Linux Enterprise Server 15 SP2-LTSS kernel-preempt 0 5.3.18-150200.24.188.1
SUSE:Linux Enterprise Server 15 SP2-LTSS kernel-source 0 5.3.18-150200.24.188.1
SUSE:Linux Enterprise Server 15 SP2-LTSS kernel-syms 0 5.3.18-150200.24.188.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-64kb 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-default 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-default-base 0 5.3.18-150300.59.158.1.150300.18.92.5
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-docs 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-obs-build 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-preempt 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-source 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-syms 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-zfcpdump 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 kernel-azure 0 4.12.14-16.182.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 kernel-default 0 4.12.14-122.216.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 kernel-source 0 4.12.14-122.216.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 kernel-source-azure 0 4.12.14-16.182.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 kernel-syms 0 4.12.14-122.216.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 kernel-syms-azure 0 4.12.14-16.182.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 kernel-default 0 5.3.18-150200.24.188.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 kernel-default-base 0 5.3.18-150200.24.188.1.150200.9.95.3
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 kernel-docs 0 5.3.18-150200.24.188.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 kernel-obs-build 0 5.3.18-150200.24.188.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 kernel-preempt 0 5.3.18-150200.24.188.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 kernel-source 0 5.3.18-150200.24.188.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 kernel-syms 0 5.3.18-150200.24.188.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 kernel-default 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 kernel-default-base 0 5.3.18-150300.59.158.1.150300.18.92.5
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 kernel-docs 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 kernel-obs-build 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 kernel-preempt 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 kernel-source 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 kernel-syms 0 5.3.18-150300.59.158.1
SUSE:Linux Enterprise Software Development Kit 12 SP5 kernel-docs 0 4.12.14-122.216.1
SUSE:Linux Enterprise Software Development Kit 12 SP5 kernel-obs-build 0 4.12.14-122.216.1
SUSE:Linux Enterprise Workstation Extension 12 SP5 kernel-default 0 4.12.14-122.216.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-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-hwe-edge 0 No fix
Ubuntu:16.04:LTS linux-kvm 0 4.4.0-1004.9
Ubuntu:18.04:LTS linux 0 4.15.0-151.157
Ubuntu:18.04:LTS linux-aws 0 4.15.0-1109.116
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-1051.53~18.04.1
Ubuntu:18.04:LTS linux-azure 0 No fix
Ubuntu:18.04:LTS linux-azure-4.15 0 4.15.0-1121.134
Ubuntu:18.04:LTS linux-azure-5.3 0 No fix
Ubuntu:18.04:LTS linux-azure-5.4 0 5.4.0-1051.53~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-1106.120
Ubuntu:18.04:LTS linux-gcp-5.3 0 No fix
Ubuntu:18.04:LTS linux-gcp-5.4 0 5.4.0-1046.49~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-77.86~18.04.1
Ubuntu:18.04:LTS linux-hwe-edge 0 No fix
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-1097.99
Ubuntu:18.04:LTS linux-oem 0 No fix
Ubuntu:18.04:LTS linux-oracle 0 4.15.0-1078.86
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-1048.52~18.04.1
Ubuntu:18.04:LTS linux-raspi-5.4 0 5.4.0-1038.41~18.04.1
Ubuntu:20.04:LTS linux 0 No fix
Ubuntu:20.04:LTS linux 0 5.4.0-77.86
Ubuntu:20.04:LTS linux-aws 0 No fix
Ubuntu:20.04:LTS linux-aws 0 5.4.0-1051.53
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-1051.53
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-1013.16
Ubuntu:20.04:LTS linux-gcp 0 No fix
Ubuntu:20.04:LTS linux-gcp 0 5.4.0-1046.49
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-1018.19
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-1041.42
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-1048.52
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-1038.41
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
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-6.8 0 6.8.0-1008.8~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

Related vulnerabilities