Cloudanix VulnDB

CVE-2014-3601

None

CVSS

—

EPSS

1.2%

Published

Sep 1, 2014

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in the Linux kernel's handling of virtual machine memory mappings lets a guest operating system crash or overload the main host computer.

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

What it actually does

Miscalculation of page counts in kvm_iommu_map_pages during IOMMU mapping failure handling allows guest-triggered large gfn values to corrupt host memory or small gfn values to permanently pin excessive host pages.

Why it matters to the business

Virtualized Linux hosts can experience crashes or resource exhaustion when untrusted guests trigger the flaw, disrupting multi-tenant environments and increasing operational risk for organizations running affected kernels.

How an attack unfolds

An attacker with guest OS access crafts IOMMU mapping requests with extreme gfn values that expose the integer miscalculation, resulting in host memory corruption or exhaustion; public exploit code has been available since disclosure.

How to fix it

Upgrade the Linux kernel on all affected hosts to a version containing the fix for the page-count miscalculation in virt/kvm/iommu.c; apply vendor-supplied updates for SUSE, Ubuntu, and other distributions as they become available.

How to confirm the fix worked

Verify running kernel versions against vendor advisories; confirm absence of the vulnerable kvm_iommu_map_pages logic via source inspection or package changelog entries.

Typical attack path

  1. Obtain or compromise a guest OS account with access to KVM IOMMU interfaces
  2. Trigger repeated IOMMU mapping operations using crafted large or small gfn values
  3. Cause host memory corruption leading to DoS or consumption leading to resource exhaustion

How to detect it

Review host kernel logs for IOMMU or KVM-related oops messages and unusual page pinning activity following guest interactions; correlate with guest-initiated mapping requests.

What your security team should do

  • Prioritize kernel updates on all systems exposing KVM to untrusted guests
  • Restrict guest access to IOMMU mapping functionality where possible
  • Monitor for kernel oops or excessive memory pinning indicators on hosts

The record

The kvm_iommu_map_pages function in virt/kvm/iommu.c in the Linux kernel through 3.16.1 miscalculates the number of pages during the handling of a mapping failure, which allows guest OS users to (1) cause a denial of service (host OS memory corruption) or possibly have unspecified other impact by triggering a large gfn value or (2) cause a denial of service (host OS memory consumption) by triggering a small gfn value that leads to permanently pinned pages.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 linux 0 3.16.2-1
Debian:12 linux 0 3.16.2-1
Debian:13 linux 0 3.16.2-1
Mageia:3 kernel 0 3.10.54-2.mga3
Mageia:3 kernel 0 3.10.58-1.mga3
Mageia:3 kernel-linus 0 3.10.58-1.mga3
Mageia:3 kernel-tmb 0 3.10.58-1.mga3
Mageia:3 kernel-userspace-headers 0 3.10.54-2.mga3
Mageia:3 kernel-userspace-headers 0 3.10.58-1.mga3
Mageia:3 kernel-vserver 0 3.10.58-0.vs2.3.6.8.1.mga3
Mageia:3 kmod-broadcom-wl 0 6.30.223.141-22.mga3.nonfree
Mageia:3 kmod-broadcom-wl 0 6.30.223.141-24.mga3.nonfree
Mageia:3 kmod-fglrx 0 13.251-12.mga3.nonfree
Mageia:3 kmod-fglrx 0 13.251-14.mga3.nonfree
Mageia:3 kmod-nvidia-current 0 319.60-22.mga3.nonfree
Mageia:3 kmod-nvidia-current 0 319.60-24.mga3.nonfree
Mageia:3 kmod-nvidia173 0 173.14.38-36.mga3.nonfree
Mageia:3 kmod-nvidia173 0 173.14.38-38.mga3.nonfree
Mageia:3 kmod-nvidia304 0 304.108-22.mga3.nonfree
Mageia:3 kmod-nvidia304 0 304.108-24.mga3.nonfree
Mageia:3 kmod-xtables-addons 0 2.3-22.mga3
Mageia:3 kmod-xtables-addons 0 2.3-24.mga3
Mageia:4 kernel 0 3.14.23-1.mga4
Mageia:4 kernel-linus 0 3.14.23-1.mga4
Mageia:4 kernel-linus 0 3.14.32-1.mga4
Mageia:4 kernel-rt 0 3.14.32-0.rt28.1.mga4
Mageia:4 kernel-tmb 0 3.14.23-1.mga4
Mageia:4 kernel-tmb 0 3.14.32-1.mga4
Mageia:4 kernel-userspace-headers 0 3.14.23-1.mga4
Mageia:4 kernel-vserver 0 3.14.23-0.vs2.3.6.13.1.mga4
Mageia:4 kernel-vserver 0 3.14.32-0.vs2.3.6.14.1.mga4
Mageia:4 kmod-broadcom-wl 0 6.30.223.141-41.mga4.nonfree
Mageia:4 kmod-fglrx 0 14.010.1006-11.mga4.nonfree
Mageia:4 kmod-nvidia-current 0 331.79-11.mga4.nonfree
Mageia:4 kmod-nvidia173 0 173.14.39-26.mga4.nonfree
Mageia:4 kmod-xtables-addons 0 2.5-6.mga4
Mageia:4 rpm-mageia-setup 0 1.197-1.1.mga4
Mageia:4 util-vserver 0 0.30.216-0.pre3062.1.mga4
Red Hat:enterprise_linux:6::client kernel 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::client kernel-abi-whitelists 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::client kernel-bootwrapper 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::client kernel-debug 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::client kernel-debug-debuginfo 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::client kernel-debug-devel 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::client kernel-debuginfo 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::client kernel-debuginfo-common-i686 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::client kernel-debuginfo-common-ppc64 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::client kernel-debuginfo-common-s390x 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::client kernel-debuginfo-common-x86_64 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::client kernel-devel 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::client kernel-doc 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::client kernel-firmware 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::client kernel-headers 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::client kernel-kdump 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::client kernel-kdump-debuginfo 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::client kernel-kdump-devel 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::client perf 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::client perf-debuginfo 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::client python-perf 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::client python-perf-debuginfo 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::computenode kernel 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::computenode kernel-abi-whitelists 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::computenode kernel-bootwrapper 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::computenode kernel-debug 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::computenode kernel-debug-debuginfo 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::computenode kernel-debug-devel 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::computenode kernel-debuginfo 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::computenode kernel-debuginfo-common-i686 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::computenode kernel-debuginfo-common-ppc64 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::computenode kernel-debuginfo-common-s390x 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::computenode kernel-debuginfo-common-x86_64 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::computenode kernel-devel 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::computenode kernel-doc 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::computenode kernel-firmware 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::computenode kernel-headers 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::computenode kernel-kdump 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::computenode kernel-kdump-debuginfo 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::computenode kernel-kdump-devel 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::computenode perf 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::computenode perf-debuginfo 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::computenode python-perf 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::computenode python-perf-debuginfo 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::server kernel 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::server kernel-abi-whitelists 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::server kernel-bootwrapper 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::server kernel-debug 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::server kernel-debug-debuginfo 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::server kernel-debug-devel 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::server kernel-debuginfo 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::server kernel-debuginfo-common-i686 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::server kernel-debuginfo-common-ppc64 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::server kernel-debuginfo-common-s390x 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::server kernel-debuginfo-common-x86_64 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::server kernel-devel 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::server kernel-doc 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::server kernel-firmware 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::server kernel-headers 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::server kernel-kdump 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::server kernel-kdump-debuginfo 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::server kernel-kdump-devel 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::server perf 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::server perf-debuginfo 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::server python-perf 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::server python-perf-debuginfo 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::workstation kernel 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::workstation kernel-abi-whitelists 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::workstation kernel-bootwrapper 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::workstation kernel-debug 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::workstation kernel-debug-debuginfo 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::workstation kernel-debug-devel 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::workstation kernel-debuginfo 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::workstation kernel-debuginfo-common-i686 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::workstation kernel-debuginfo-common-ppc64 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::workstation kernel-debuginfo-common-s390x 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::workstation kernel-debuginfo-common-x86_64 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::workstation kernel-devel 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::workstation kernel-doc 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::workstation kernel-firmware 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::workstation kernel-headers 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::workstation kernel-kdump 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::workstation kernel-kdump-debuginfo 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::workstation kernel-kdump-devel 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::workstation perf 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::workstation perf-debuginfo 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::workstation python-perf 0 0:2.6.32-504.el6
Red Hat:enterprise_linux:6::workstation python-perf-debuginfo 0 0:2.6.32-504.el6
Ubuntu:14.04:LTS linux 0 3.13.0-36.63
Ubuntu:14.04:LTS linux-aws 0 4.4.0-1002.2
Ubuntu:14.04:LTS linux-lts-utopic 0 3.16.0-25.33~14.04.2
Ubuntu:14.04:LTS linux-lts-vivid 0 3.19.0-18.18~14.04.1
Ubuntu:14.04:LTS linux-lts-wily 0 4.2.0-18.22~14.04.1
Ubuntu:14.04:LTS linux-lts-xenial 0 4.4.0-13.29~14.04.1
Ubuntu:16.04:LTS linux 0 4.2.0-16.19
Ubuntu:16.04:LTS linux-aws 0 4.4.0-1001.10
Ubuntu:16.04:LTS linux-gke 0 4.4.0-1003.3
Ubuntu:16.04:LTS linux-hwe 0 4.8.0-36.36~16.04.1
Ubuntu:16.04:LTS linux-raspi2 0 4.2.0-1013.19
Ubuntu:16.04:LTS linux-snapdragon 0 4.4.0-1012.12
Ubuntu:Pro:16.04:LTS linux-flo 0 No fix
Ubuntu:Pro:16.04:LTS linux-goldfish 0 No fix
Ubuntu:Pro:16.04:LTS linux-mako 0 No fix

Related vulnerabilities