Cloudanix VulnDB

CVE-2021-20292

Medium · 6.7

CVSS

6.7

EPSS

0.9%

Published

May 28, 2021

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in the Linux graphics driver lets a user who already has full control of the machine take over the entire operating system kernel.

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

What it actually does

Use-after-free in the Nouveau DRM driver caused by missing validation of a TTM object prior to operations on it, allowing kernel memory corruption.

Why it matters to the business

A local attacker with root privileges can gain arbitrary code execution inside the kernel, leading to full host compromise, persistence, and lateral movement on affected Linux systems.

How an attack unfolds

An attacker with an existing local root account crafts input that triggers the Nouveau SGDMA path without a valid object, reuses the freed memory, and executes arbitrary kernel code to elevate from root user to full kernel control.

How to fix it

Upgrade the Linux kernel to version 5.9 or later. Apply distribution-specific backports for supported releases of Fedora, RHEL, and Debian. Disable the Nouveau driver if the hardware is not required.

How to confirm the fix worked

Verify kernel version is 5.9 or newer; confirm the vulnerable nouveau_sgdma.c code path is absent or patched; run kernel regression tests that exercise DRM TTM allocation paths.

Typical attack path

  1. Obtain local root shell on target system
  2. Trigger nouveau_sgdma_create_ttm with invalid object state
  3. Trigger use-after-free and corrupt kernel structures
  4. Execute kernel payload for privilege escalation or persistence

How to detect it

Review kernel logs for Nouveau SGDMA errors or crashes around the time of suspicious local activity; inspect audit logs for unexpected use of DRM ioctls by root processes; correlate with any kernel oops or panic entries referencing nouveau.

What your security team should do

  • Patch all affected systems to kernel 5.9+ immediately
  • Restrict local root access via least-privilege policies
  • Monitor for anomalous Nouveau driver activity in system logs
  • Consider blacklisting Nouveau on systems without NVIDIA hardware

The record

There is a flaw reported in the Linux kernel in versions before 5.9 in drivers/gpu/drm/nouveau/nouveau_sgdma.c in nouveau_sgdma_create_ttm in Nouveau DRM subsystem. The issue results from the lack of validating the existence of an object prior to performing operations on the object. An attacker with a local account with a root privilege, can leverage this vulnerability to escalate privileges and execute code in the context of the kernel.

Affected packages

Ecosystem Package Introduced Fixed
Android :linux_kernel: :0 :2021-10-05
Debian:11 linux 0 5.7.17-1
Debian:12 linux 0 5.7.17-1
Debian:13 linux 0 5.7.17-1
Debian:9 linux 0 4.9.272-1
SUSE:Enterprise Storage 6 kernel-default 0 4.12.14-150100.197.114.2
SUSE:Enterprise Storage 6 kernel-docs 0 4.12.14-150100.197.114.2
SUSE:Enterprise Storage 6 kernel-obs-build 0 4.12.14-150100.197.114.2
SUSE:Enterprise Storage 6 kernel-source 0 4.12.14-150100.197.114.2
SUSE:Enterprise Storage 6 kernel-syms 0 4.12.14-150100.197.114.2
SUSE:HPE Helion OpenStack 8 kernel-default 0 4.4.180-94.164.3
SUSE:HPE Helion OpenStack 8 kernel-source 0 4.4.180-94.164.2
SUSE:HPE Helion OpenStack 8 kernel-syms 0 4.4.180-94.164.2
SUSE:HPE Helion OpenStack 8 kgraft-patch-SLE12-SP3_Update_45 0 1-4.3.2
SUSE:Linux Enterprise High Availability Extension 12 SP3 kernel-default 0 4.4.180-94.164.3
SUSE:Linux Enterprise High Availability Extension 12 SP4 kernel-default 0 4.12.14-95.99.3
SUSE:Linux Enterprise High Availability Extension 12 SP5 kernel-default 0 4.12.14-122.121.2
SUSE:Linux Enterprise High Availability Extension 15 kernel-default 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise High Availability Extension 15 SP1 kernel-default 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise High Availability Extension 15 SP3 kernel-default 0 5.3.18-150300.59.68.1
SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS kernel-default 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS kernel-docs 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS kernel-obs-build 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS kernel-source 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS kernel-syms 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS kernel-default 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS kernel-docs 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS kernel-obs-build 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS kernel-source 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS kernel-syms 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise High Performance Computing 15-ESPOS kernel-default 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise High Performance Computing 15-ESPOS kernel-docs 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise High Performance Computing 15-ESPOS kernel-obs-build 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise High Performance Computing 15-ESPOS kernel-source 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise High Performance Computing 15-ESPOS kernel-syms 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise High Performance Computing 15-ESPOS kernel-vanilla 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise High Performance Computing 15-LTSS kernel-default 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise High Performance Computing 15-LTSS kernel-docs 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise High Performance Computing 15-LTSS kernel-obs-build 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise High Performance Computing 15-LTSS kernel-source 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise High Performance Computing 15-LTSS kernel-syms 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise High Performance Computing 15-LTSS kernel-vanilla 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise Live Patching 12 SP4 kernel-default 0 4.12.14-95.99.3
SUSE:Linux Enterprise Live Patching 12 SP4 kgraft-patch-SLE12-SP4_Update_27 0 1-6.3.3
SUSE:Linux Enterprise Live Patching 12 SP5 kernel-default 0 4.12.14-122.121.2
SUSE:Linux Enterprise Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_31 0 1-8.5.2
SUSE:Linux Enterprise Live Patching 15 kernel-default 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise Live Patching 15 kernel-livepatch-SLE15_Update_30 0 1-150000.1.3.2
SUSE:Linux Enterprise Live Patching 15 SP1 kernel-default 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise Live Patching 15 SP1 kernel-livepatch-SLE15-SP1_Update_31 0 1-150100.3.3.2
SUSE:Linux Enterprise Live Patching 15 SP3 kernel-default 0 5.3.18-150300.59.68.1
SUSE:Linux Enterprise Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_18 0 1-150300.7.5.1
SUSE:Linux Enterprise Micro 5.1 kernel-default 0 5.3.18-150300.59.68.1
SUSE:Linux Enterprise Micro 5.1 kernel-default-base 0 5.3.18-150300.59.68.1.150300.18.41.3
SUSE:Linux Enterprise Micro 5.1 kernel-rt 0 5.3.18-150300.88.2
SUSE:Linux Enterprise Micro 5.2 kernel-default 0 5.3.18-150300.59.68.1
SUSE:Linux Enterprise Micro 5.2 kernel-default-base 0 5.3.18-150300.59.68.1.150300.18.41.3
SUSE:Linux Enterprise Micro 5.2 kernel-rt 0 5.3.18-150300.88.2
SUSE:Linux Enterprise Module for Basesystem 15 SP3 kernel-64kb 0 5.3.18-150300.59.68.1
SUSE:Linux Enterprise Module for Basesystem 15 SP3 kernel-default 0 5.3.18-150300.59.68.1
SUSE:Linux Enterprise Module for Basesystem 15 SP3 kernel-default-base 0 5.3.18-150300.59.68.1.150300.18.41.3
SUSE:Linux Enterprise Module for Basesystem 15 SP3 kernel-preempt 0 5.3.18-150300.59.68.1
SUSE:Linux Enterprise Module for Basesystem 15 SP3 kernel-source 0 5.3.18-150300.59.68.1
SUSE:Linux Enterprise Module for Basesystem 15 SP3 kernel-zfcpdump 0 5.3.18-150300.59.68.1
SUSE:Linux Enterprise Module for Development Tools 15 SP3 kernel-docs 0 5.3.18-150300.59.68.1
SUSE:Linux Enterprise Module for Development Tools 15 SP3 kernel-obs-build 0 5.3.18-150300.59.68.1
SUSE:Linux Enterprise Module for Development Tools 15 SP3 kernel-preempt 0 5.3.18-150300.59.68.1
SUSE:Linux Enterprise Module for Development Tools 15 SP3 kernel-source 0 5.3.18-150300.59.68.1
SUSE:Linux Enterprise Module for Development Tools 15 SP3 kernel-syms 0 5.3.18-150300.59.68.1
SUSE:Linux Enterprise Module for Legacy 15 SP3 kernel-default 0 5.3.18-150300.59.68.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP3 kernel-azure 0 5.3.18-150300.38.56.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP3 kernel-source-azure 0 5.3.18-150300.38.56.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP3 kernel-syms-azure 0 5.3.18-150300.38.56.1
SUSE:Linux Enterprise Real Time 12 SP5 kernel-rt 0 4.12.14-10.89.1
SUSE:Linux Enterprise Real Time 12 SP5 kernel-rt_debug 0 4.12.14-10.89.1
SUSE:Linux Enterprise Real Time 12 SP5 kernel-source-rt 0 4.12.14-10.89.1
SUSE:Linux Enterprise Real Time 12 SP5 kernel-syms-rt 0 4.12.14-10.89.1
SUSE:Linux Enterprise Real Time 15 SP3 release-notes-sle_rt 0 15.3.20220422-150300.3.3.2
SUSE:Linux Enterprise Server 12 SP2-BCL kernel-default 0 4.4.121-92.175.2
SUSE:Linux Enterprise Server 12 SP2-BCL kernel-source 0 4.4.121-92.175.2
SUSE:Linux Enterprise Server 12 SP2-BCL kernel-syms 0 4.4.121-92.175.2
SUSE:Linux Enterprise Server 12 SP3-BCL kernel-default 0 4.4.180-94.164.3
SUSE:Linux Enterprise Server 12 SP3-BCL kernel-source 0 4.4.180-94.164.2
SUSE:Linux Enterprise Server 12 SP3-BCL kernel-syms 0 4.4.180-94.164.2
SUSE:Linux Enterprise Server 12 SP3-LTSS kernel-default 0 4.4.180-94.164.3
SUSE:Linux Enterprise Server 12 SP3-LTSS kernel-source 0 4.4.180-94.164.2
SUSE:Linux Enterprise Server 12 SP3-LTSS kernel-syms 0 4.4.180-94.164.2
SUSE:Linux Enterprise Server 12 SP3-LTSS kgraft-patch-SLE12-SP3_Update_45 0 1-4.3.2
SUSE:Linux Enterprise Server 12 SP4-LTSS kernel-default 0 4.12.14-95.99.3
SUSE:Linux Enterprise Server 12 SP4-LTSS kernel-source 0 4.12.14-95.99.2
SUSE:Linux Enterprise Server 12 SP4-LTSS kernel-syms 0 4.12.14-95.99.2
SUSE:Linux Enterprise Server 12 SP5 kernel-azure 0 4.12.14-16.97.1
SUSE:Linux Enterprise Server 12 SP5 kernel-default 0 4.12.14-122.121.2
SUSE:Linux Enterprise Server 12 SP5 kernel-source 0 4.12.14-122.121.2
SUSE:Linux Enterprise Server 12 SP5 kernel-source-azure 0 4.12.14-16.97.1
SUSE:Linux Enterprise Server 12 SP5 kernel-syms 0 4.12.14-122.121.2
SUSE:Linux Enterprise Server 12 SP5 kernel-syms-azure 0 4.12.14-16.97.1
SUSE:Linux Enterprise Server 15 SP1-BCL kernel-default 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise Server 15 SP1-BCL kernel-docs 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise Server 15 SP1-BCL kernel-obs-build 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise Server 15 SP1-BCL kernel-source 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise Server 15 SP1-BCL kernel-syms 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise Server 15 SP1-LTSS kernel-default 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise Server 15 SP1-LTSS kernel-docs 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise Server 15 SP1-LTSS kernel-obs-build 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise Server 15 SP1-LTSS kernel-source 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise Server 15 SP1-LTSS kernel-syms 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise Server 15 SP1-LTSS kernel-zfcpdump 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise Server 15-LTSS kernel-default 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise Server 15-LTSS kernel-docs 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise Server 15-LTSS kernel-obs-build 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise Server 15-LTSS kernel-source 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise Server 15-LTSS kernel-syms 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise Server 15-LTSS kernel-vanilla 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise Server 15-LTSS kernel-zfcpdump 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 kernel-default 0 4.4.180-94.164.3
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 kernel-source 0 4.4.180-94.164.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 kernel-syms 0 4.4.180-94.164.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 kgraft-patch-SLE12-SP3_Update_45 0 1-4.3.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP4 kernel-default 0 4.12.14-95.99.3
SUSE:Linux Enterprise Server for SAP Applications 12 SP4 kernel-source 0 4.12.14-95.99.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP4 kernel-syms 0 4.12.14-95.99.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 kernel-azure 0 4.12.14-16.97.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 kernel-default 0 4.12.14-122.121.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 kernel-source 0 4.12.14-122.121.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 kernel-source-azure 0 4.12.14-16.97.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 kernel-syms 0 4.12.14-122.121.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 kernel-syms-azure 0 4.12.14-16.97.1
SUSE:Linux Enterprise Server for SAP Applications 15 kernel-default 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise Server for SAP Applications 15 kernel-docs 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise Server for SAP Applications 15 kernel-obs-build 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise Server for SAP Applications 15 kernel-source 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise Server for SAP Applications 15 kernel-syms 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise Server for SAP Applications 15 kernel-vanilla 0 4.12.14-150000.150.92.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP1 kernel-default 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP1 kernel-docs 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP1 kernel-obs-build 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP1 kernel-source 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP1 kernel-syms 0 4.12.14-150100.197.114.2
SUSE:Linux Enterprise Software Development Kit 12 SP5 kernel-docs 0 4.12.14-122.121.2
SUSE:Linux Enterprise Software Development Kit 12 SP5 kernel-obs-build 0 4.12.14-122.121.1
SUSE:Linux Enterprise Workstation Extension 12 SP5 kernel-default 0 4.12.14-122.121.2
SUSE:Linux Enterprise Workstation Extension 15 SP3 kernel-default 0 5.3.18-150300.59.68.1
SUSE:Linux Enterprise Workstation Extension 15 SP3 kernel-preempt 0 5.3.18-150300.59.68.1
SUSE:OpenStack Cloud 8 kernel-default 0 4.4.180-94.164.3
SUSE:OpenStack Cloud 8 kernel-source 0 4.4.180-94.164.2
SUSE:OpenStack Cloud 8 kernel-syms 0 4.4.180-94.164.2
SUSE:OpenStack Cloud 8 kgraft-patch-SLE12-SP3_Update_45 0 1-4.3.2
SUSE:OpenStack Cloud 9 kernel-default 0 4.12.14-95.99.3
SUSE:OpenStack Cloud 9 kernel-source 0 4.12.14-95.99.2
SUSE:OpenStack Cloud 9 kernel-syms 0 4.12.14-95.99.2
SUSE:OpenStack Cloud Crowbar 8 kernel-default 0 4.4.180-94.164.3
SUSE:OpenStack Cloud Crowbar 8 kernel-source 0 4.4.180-94.164.2
SUSE:OpenStack Cloud Crowbar 8 kernel-syms 0 4.4.180-94.164.2
SUSE:OpenStack Cloud Crowbar 8 kgraft-patch-SLE12-SP3_Update_45 0 1-4.3.2
SUSE:OpenStack Cloud Crowbar 9 kernel-default 0 4.12.14-95.99.3
SUSE:OpenStack Cloud Crowbar 9 kernel-source 0 4.12.14-95.99.2
SUSE:OpenStack Cloud Crowbar 9 kernel-syms 0 4.12.14-95.99.2
SUSE:Real Time Module 15 SP3 kernel-rt 0 5.3.18-150300.88.2
SUSE:Real Time Module 15 SP3 kernel-rt_debug 0 5.3.18-150300.88.2
SUSE:Real Time Module 15 SP3 kernel-source-rt 0 5.3.18-150300.88.2
SUSE:Real Time Module 15 SP3 kernel-syms-rt 0 5.3.18-150300.88.1
SUSE:Real Time Module 15 SP3 release-notes-sle_rt 0 15.3.20220422-150300.3.3.2
Ubuntu:14.04:LTS linux-azure 0 4.15.0-1114.127~14.04.1
Ubuntu:16.04:LTS linux-gcp 0 4.15.0-1099.112~16.04.1
Ubuntu:16.04:LTS linux-hwe 0 4.15.0-143.147~16.04.3
Ubuntu:16.04:LTS linux-hwe-edge 0 No fix
Ubuntu:16.04:LTS linux-oracle 0 4.15.0-1071.79~16.04.1
Ubuntu:18.04:LTS linux 0 4.15.0-143.147
Ubuntu:18.04:LTS linux-aws 0 4.15.0-1102.109
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-1025.25~18.04.1
Ubuntu:18.04:LTS linux-azure 0 No fix
Ubuntu:18.04:LTS linux-azure-4.15 0 4.15.0-1114.127
Ubuntu:18.04:LTS linux-azure-5.3 0 No fix
Ubuntu:18.04:LTS linux-azure-5.4 0 5.4.0-1026.26~18.04.1
Ubuntu:18.04:LTS linux-azure-edge 0 No fix
Ubuntu:18.04:LTS linux-dell300x 0 4.15.0-1018.22
Ubuntu:18.04:LTS linux-gcp 0 No fix
Ubuntu:18.04:LTS linux-gcp-4.15 0 4.15.0-1099.112
Ubuntu:18.04:LTS linux-gcp-5.3 0 No fix
Ubuntu:18.04:LTS linux-gcp-5.4 0 5.4.0-1025.25~18.04.1
Ubuntu:18.04:LTS linux-gcp-edge 0 No fix
Ubuntu:18.04:LTS linux-gke-4.15 0 No fix
Ubuntu:18.04:LTS linux-gke-5.4 0 5.4.0-1025.25~18.04.1
Ubuntu:18.04:LTS linux-gkeop-5.4 0 5.4.0-1001.1
Ubuntu:18.04:LTS linux-hwe 0 No fix
Ubuntu:18.04:LTS linux-hwe-5.4 0 5.4.0-48.52~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-1091.93
Ubuntu:18.04:LTS linux-oem 0 No fix
Ubuntu:18.04:LTS linux-oracle 0 4.15.0-1071.79
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-1025.25~18.04.1
Ubuntu:18.04:LTS linux-raspi-5.4 0 5.4.0-1019.21~18.04.1
Ubuntu:18.04:LTS linux-raspi2 0 4.15.0-1085.90
Ubuntu:18.04:LTS linux-snapdragon 0 4.15.0-1102.111

Related vulnerabilities