Cloudanix VulnDB

CVE-2022-48904

None

CVSS

—

EPSS

0.2%

Published

Aug 22, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in the Linux kernel's handling of certain hardware memory settings could slowly use up system memory when virtual machines with direct device access are started and stopped.

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

What it actually does

The IOMMU AMD driver updates the I/O page table mode for a domain before freeing the memory allocated for the page table entries, leaving the original allocations unreachable and causing a memory leak when pass-through devices are attached to VMs.

Why it matters to the business

Repeated VM launches with pass-through devices gradually exhaust kernel memory on affected Linux systems, potentially leading to degraded performance or denial of service for virtualization workloads; the issue is long-fixed in mainline and common distributions but still present on unpatched older kernels.

How an attack unfolds

An attacker or automated process repeatedly starts and stops VMs configured with AMD IOMMU pass-through devices; each cycle triggers the mode-update-before-free sequence, accumulating unreclaimed page table memory until the system becomes resource-starved.

How to fix it

Upgrade the Linux kernel to a version containing commit 378e2fe1eb58d5c2ed55c8fe5e11f9db5033cdd6 or later; for Android, ensure devices are running the 2021-11-01 or newer security patch level of Android 12 that includes the corrected IOMMU handling.

How to confirm the fix worked

After patching, boot a test VM with an AMD pass-through device, repeatedly start and stop the VM while monitoring kernel memory usage and IOMMU page table allocations via /proc or slabinfo to confirm leaks no longer occur.

Typical attack path

  1. Identify or create a VM with direct device assignment on an AMD IOMMU system
  2. Launch the VM, causing the domain to allocate a new I/O page table
  3. Shut down or restart the VM, triggering the flawed mode-update path that leaks the table memory
  4. Repeat the cycle to accelerate memory exhaustion

How to detect it

Review kernel logs and slab allocator statistics for sustained growth in IOMMU page table allocations correlated with VM start/stop events on AMD systems; no public exploit artifacts exist.

What your security team should do

  • Prioritize kernel updates on any host running AMD IOMMU with virtualization pass-through workloads
  • Add the fixed commit hash to internal patch scanners and SBOM checks
  • Monitor memory usage trends on virtualization hosts as a compensating control until patches are applied

The record

In the Linux kernel, the following vulnerability has been resolved: iommu/amd: Fix I/O page table memory leak The current logic updates the I/O page table mode for the domain before calling the logic to free memory used for the page table. This results in IOMMU page table memory leak, and can be observed when launching VM w/ pass-through devices. Fix by freeing the memory used for page table before updating the mode.

Affected packages

Ecosystem Package Introduced Fixed
Debian:12 linux 0 5.16.14-1
Debian:13 linux 0 5.16.14-1
Linux Kernel 5.12.0 5.15.27
Red Hat:enterprise_linux:8::baseos bpftool 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos bpftool-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-abi-stablelists 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-core 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-cross-headers 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-debug 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-core 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-devel 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-modules 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-debug-modules-extra 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-aarch64 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-ppc64le 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-s390x 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-debuginfo-common-x86_64 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-devel 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-doc 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-headers 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-modules 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-modules-extra 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-tools 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-tools-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-tools-libs 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-tools-libs-devel 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-core 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-devel 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-modules 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos kernel-zfcpdump-modules-extra 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos perf 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos perf-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos python3-perf 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::baseos python3-perf-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb bpftool 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb bpftool-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-abi-stablelists 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-core 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-cross-headers 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-debug 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-debug-core 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-debug-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-debug-devel 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-debug-modules 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-debug-modules-extra 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-aarch64 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-ppc64le 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-s390x 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-debuginfo-common-x86_64 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-devel 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-doc 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-headers 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-modules 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-modules-extra 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-tools 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-tools-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-tools-libs 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-tools-libs-devel 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-core 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-devel 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-modules 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb kernel-zfcpdump-modules-extra 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb perf 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb perf-debuginfo 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb python3-perf 0 0:4.18.0-372.9.1.el8
Red Hat:enterprise_linux:8::crb python3-perf-debuginfo 0 0:4.18.0-372.9.1.el8
SUSE:Linux Enterprise High Availability Extension 15 SP4 kernel-default 0 5.14.21-150400.24.133.2
SUSE:Linux Enterprise High Availability Extension 15 SP5 kernel-default 0 5.14.21-150500.55.80.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-64kb 0 5.14.21-150400.24.133.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-default 0 5.14.21-150400.24.133.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-default-base 0 5.14.21-150400.24.133.2.150400.24.64.5
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-docs 0 5.14.21-150400.24.133.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-obs-build 0 5.14.21-150400.24.133.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-source 0 5.14.21-150400.24.133.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-syms 0 5.14.21-150400.24.133.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-64kb 0 5.14.21-150400.24.133.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-default 0 5.14.21-150400.24.133.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-default-base 0 5.14.21-150400.24.133.2.150400.24.64.5
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-docs 0 5.14.21-150400.24.133.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-obs-build 0 5.14.21-150400.24.133.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-source 0 5.14.21-150400.24.133.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-syms 0 5.14.21-150400.24.133.1
SUSE:Linux Enterprise Live Patching 15 SP4 kernel-default 0 5.14.21-150400.24.133.2
SUSE:Linux Enterprise Live Patching 15 SP4 kernel-livepatch-SLE15-SP4_Update_31 0 1-150400.9.3.2
SUSE:Linux Enterprise Live Patching 15 SP5 kernel-default 0 5.14.21-150500.55.80.2
SUSE:Linux Enterprise Live Patching 15 SP5 kernel-livepatch-SLE15-SP5-RT_Update_19 0 1-150500.11.3.2
SUSE:Linux Enterprise Live Patching 15 SP5 kernel-livepatch-SLE15-SP5_Update_19 0 1-150500.11.3.2
SUSE:Linux Enterprise Micro 5.3 kernel-default 0 5.14.21-150400.24.133.2
SUSE:Linux Enterprise Micro 5.3 kernel-default-base 0 5.14.21-150400.24.133.2.150400.24.64.5
SUSE:Linux Enterprise Micro 5.3 kernel-rt 0 5.14.21-150400.15.91.3
SUSE:Linux Enterprise Micro 5.3 kernel-source-rt 0 5.14.21-150400.15.91.3
SUSE:Linux Enterprise Micro 5.4 kernel-default 0 5.14.21-150400.24.133.2
SUSE:Linux Enterprise Micro 5.4 kernel-default-base 0 5.14.21-150400.24.133.2.150400.24.64.5
SUSE:Linux Enterprise Micro 5.4 kernel-rt 0 5.14.21-150400.15.91.3
SUSE:Linux Enterprise Micro 5.4 kernel-source-rt 0 5.14.21-150400.15.91.3
SUSE:Linux Enterprise Micro 5.5 kernel-default 0 5.14.21-150500.55.80.2
SUSE:Linux Enterprise Micro 5.5 kernel-default-base 0 5.14.21-150500.55.80.2.150500.6.35.6
SUSE:Linux Enterprise Micro 5.5 kernel-rt 0 5.14.21-150500.13.67.3
SUSE:Linux Enterprise Micro 5.5 kernel-source-rt 0 5.14.21-150500.13.67.3
SUSE:Linux Enterprise Module for Basesystem 15 SP5 kernel-64kb 0 5.14.21-150500.55.80.2
SUSE:Linux Enterprise Module for Basesystem 15 SP5 kernel-default 0 5.14.21-150500.55.80.2
SUSE:Linux Enterprise Module for Basesystem 15 SP5 kernel-default-base 0 5.14.21-150500.55.80.2.150500.6.35.6
SUSE:Linux Enterprise Module for Basesystem 15 SP5 kernel-source 0 5.14.21-150500.55.80.2
SUSE:Linux Enterprise Module for Basesystem 15 SP5 kernel-zfcpdump 0 5.14.21-150500.55.80.2
SUSE:Linux Enterprise Module for Development Tools 15 SP5 kernel-docs 0 5.14.21-150500.55.80.2
SUSE:Linux Enterprise Module for Development Tools 15 SP5 kernel-obs-build 0 5.14.21-150500.55.80.1
SUSE:Linux Enterprise Module for Development Tools 15 SP5 kernel-source 0 5.14.21-150500.55.80.2
SUSE:Linux Enterprise Module for Development Tools 15 SP5 kernel-syms 0 5.14.21-150500.55.80.1
SUSE:Linux Enterprise Module for Legacy 15 SP5 kernel-default 0 5.14.21-150500.55.80.2
SUSE:Linux Enterprise Module for Public Cloud 15 SP5 kernel-azure 0 5.14.21-150500.33.66.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP5 kernel-source-azure 0 5.14.21-150500.33.66.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP5 kernel-syms-azure 0 5.14.21-150500.33.66.1
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-64kb 0 5.14.21-150400.24.133.2
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-default 0 5.14.21-150400.24.133.2
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-default-base 0 5.14.21-150400.24.133.2.150400.24.64.5
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-docs 0 5.14.21-150400.24.133.1
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-obs-build 0 5.14.21-150400.24.133.2
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-source 0 5.14.21-150400.24.133.2
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-syms 0 5.14.21-150400.24.133.1
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-zfcpdump 0 5.14.21-150400.24.133.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-default 0 5.14.21-150400.24.133.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-default-base 0 5.14.21-150400.24.133.2.150400.24.64.5
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-docs 0 5.14.21-150400.24.133.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-obs-build 0 5.14.21-150400.24.133.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-source 0 5.14.21-150400.24.133.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-syms 0 5.14.21-150400.24.133.1
SUSE:Linux Enterprise Workstation Extension 15 SP5 kernel-default 0 5.14.21-150500.55.80.2
SUSE:Manager Proxy 4.3 kernel-default 0 5.14.21-150400.24.133.2
SUSE:Manager Proxy 4.3 kernel-default-base 0 5.14.21-150400.24.133.2.150400.24.64.5
SUSE:Manager Proxy 4.3 kernel-source 0 5.14.21-150400.24.133.2
SUSE:Manager Proxy 4.3 kernel-syms 0 5.14.21-150400.24.133.1
SUSE:Manager Server 4.3 kernel-default 0 5.14.21-150400.24.133.2
SUSE:Manager Server 4.3 kernel-default-base 0 5.14.21-150400.24.133.2.150400.24.64.5
SUSE:Manager Server 4.3 kernel-source 0 5.14.21-150400.24.133.2
SUSE:Manager Server 4.3 kernel-syms 0 5.14.21-150400.24.133.1
SUSE:Manager Server 4.3 kernel-zfcpdump 0 5.14.21-150400.24.133.2
SUSE:Real Time Module 15 SP5 kernel-rt 0 5.14.21-150500.13.67.3
SUSE:Real Time Module 15 SP5 kernel-rt_debug 0 5.14.21-150500.13.67.3
SUSE:Real Time Module 15 SP5 kernel-source-rt 0 5.14.21-150500.13.67.3
SUSE:Real Time Module 15 SP5 kernel-syms-rt 0 5.14.21-150500.13.67.1
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-1008.11~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

Related vulnerabilities