CVE-2015-2150
NoneCVSS
—
EPSS
0.5%
Published
Mar 12, 2015
CISA due date
—
Cloudanix analysis
Someone inside one virtual machine can crash the entire physical server and all other machines running on it.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Authorization Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vulnerability allows a local guest OS user to disable memory or I/O decoding for a PCI Express device via command registers, triggering an Unsupported Request response that generates a non-maskable interrupt and crashes the host.
Why it matters to the business
Virtualized environments running affected Xen or Linux kernel versions face risk of host-wide crashes from compromised or malicious guest VMs, causing downtime across all hosted workloads; the issue has remained low-probability for nearly a decade with no widespread exploitation observed.
How an attack unfolds
An attacker with local access inside a guest VM identifies a PCI Express device, writes to its command registers to disable memory or I/O decoding, then performs a device access that elicits an Unsupported Request response from the host PCI subsystem, resulting in a non-maskable interrupt and host crash.
How to fix it
Upgrade Xen beyond version 4.5.x and the Linux kernel beyond version 3.19.1 to releases that enforce proper restrictions on guest access to PCI command registers; apply all vendor-supplied hypervisor and kernel updates.
How to confirm the fix worked
Confirm updated Xen and kernel packages are installed, then attempt PCI register manipulation from a test guest to verify that such operations are now blocked or logged without causing host instability.
Typical attack path
- Obtain local access inside a guest virtual machine
- Enumerate available PCI Express devices from the guest
- Write to PCI command registers to disable memory or I/O decoding
- Issue an access to the affected device
- Trigger Unsupported Request response leading to NMI and host crash
How to detect it
Examine hypervisor and system logs for non-maskable interrupt events, Unsupported Request PCI errors, and unexpected guest-initiated changes to PCI command registers; correlate timestamps with guest process activity.
What your security team should do
- Apply hypervisor and kernel patches to all virtualization hosts as highest priority
- Review guest isolation policies and limit PCI device passthrough where feasible
- Monitor hypervisor logs for NMI events correlated with guest PCI activity
The record
Xen 3.3.x through 4.5.x and the Linux kernel through 3.19.1 do not properly restrict access to PCI command registers, which might allow local guest OS users to cause a denial of service (non-maskable interrupt and host crash) by disabling the (1) memory or (2) I/O decoding for a PCI Express device and then accessing the device, which triggers an Unsupported Request (UR) response.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | linux | 0 | 3.16.7-ckt9-1 |
| Debian:12 | linux | 0 | 3.16.7-ckt9-1 |
| Debian:13 | linux | 0 | 3.16.7-ckt9-1 |
| Debian:7 | linux | 0 | 3.2.68-1+deb7u1 |
| Debian:8 | linux | 0 | 3.16.7-ckt9-3~deb8u1 |
| Mageia:4 | kernel | 0 | 3.14.39-1.mga4 |
| Mageia:4 | kernel-linus | 0 | 3.14.39-1.mga4 |
| Mageia:4 | kernel-tmb | 0 | 3.14.41-1.mga4 |
| Mageia:4 | kernel-userspace-headers | 0 | 3.14.39-1.mga4 |
| Mageia:4 | kmod-broadcom-wl | 0 | 6.30.223.141-51.mga4.nonfree |
| Mageia:4 | kmod-fglrx | 0 | 14.010.1006-21.mga4.nonfree |
| Mageia:4 | kmod-nvidia-current | 0 | 331.113-6.mga4.nonfree |
| Mageia:4 | kmod-nvidia173 | 0 | 173.14.39-36.mga4.nonfree |
| Mageia:4 | kmod-nvidia304 | 0 | 304.125-6.mga4.nonfree |
| Mageia:4 | kmod-vboxadditions | 0 | 4.3.26-6.mga4 |
| Mageia:4 | kmod-virtualbox | 0 | 4.3.26-6.mga4 |
| Mageia:4 | kmod-xtables-addons | 0 | 2.5-16.mga4 |
| Mageia:5 | xen | 0 | 4.5.2-1.5.mga5 |
| SUSE:Linux Enterprise Desktop 11 SP3 | kernel-bigsmp | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Desktop 11 SP3 | kernel-default | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Desktop 11 SP3 | kernel-pae | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Desktop 11 SP3 | kernel-source | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Desktop 11 SP3 | kernel-syms | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Desktop 11 SP3 | kernel-trace | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Desktop 11 SP3 | kernel-xen | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Desktop 11 SP4 | kernel-default | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | kernel-pae | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | kernel-source | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | kernel-syms | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | kernel-trace | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | kernel-xen | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Desktop 12 | kernel-default | 0 | 3.12.39-47.1 |
| SUSE:Linux Enterprise Desktop 12 | kernel-source | 0 | 3.12.39-47.1 |
| SUSE:Linux Enterprise Desktop 12 | kernel-syms | 0 | 3.12.39-47.1 |
| SUSE:Linux Enterprise Desktop 12 | kernel-xen | 0 | 3.12.39-47.1 |
| SUSE:Linux Enterprise Live Patching 12 | kgraft-patch-SLE12_Update_4 | 0 | 1-2.1 |
| SUSE:Linux Enterprise Module for Public Cloud 12 | kernel-ec2 | 0 | 3.12.39-47.1 |
| SUSE:Linux Enterprise Real Time 11 SP3 | kernel-rt | 0 | 3.0.101.rt130-0.33.40.1 |
| SUSE:Linux Enterprise Real Time 11 SP3 | kernel-rt_trace | 0 | 3.0.101.rt130-0.33.40.1 |
| SUSE:Linux Enterprise Real Time 11 SP3 | kernel-source-rt | 0 | 3.0.101.rt130-0.33.40.1 |
| SUSE:Linux Enterprise Real Time 11 SP3 | kernel-syms-rt | 0 | 3.0.101.rt130-0.33.40.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | kernel-default | 0 | 3.0.101-0.7.37.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | kernel-ec2 | 0 | 3.0.101-0.7.37.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | kernel-pae | 0 | 3.0.101-0.7.37.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | kernel-source | 0 | 3.0.101-0.7.37.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | kernel-syms | 0 | 3.0.101-0.7.37.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | kernel-trace | 0 | 3.0.101-0.7.37.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | kernel-xen | 0 | 3.0.101-0.7.37.1 |
| SUSE:Linux Enterprise Server 11 SP3 | kernel-bigsmp | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server 11 SP3 | kernel-default | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server 11 SP3 | kernel-ec2 | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server 11 SP3 | kernel-pae | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server 11 SP3 | kernel-ppc64 | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server 11 SP3 | kernel-source | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server 11 SP3 | kernel-syms | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server 11 SP3 | kernel-trace | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server 11 SP3 | kernel-xen | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-default | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-ec2 | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-pae | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-ppc64 | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-source | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-syms | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-trace | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-xen | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server 12 | kernel-default | 0 | 3.12.39-47.1 |
| SUSE:Linux Enterprise Server 12 | kernel-source | 0 | 3.12.39-47.1 |
| SUSE:Linux Enterprise Server 12 | kernel-syms | 0 | 3.12.39-47.1 |
| SUSE:Linux Enterprise Server 12 | kernel-xen | 0 | 3.12.39-47.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | kernel-bigsmp | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | kernel-default | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | kernel-ec2 | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | kernel-pae | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | kernel-ppc64 | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | kernel-source | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | kernel-syms | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | kernel-trace | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | kernel-xen | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-default | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-ec2 | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-pae | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-ppc64 | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-source | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-syms | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-trace | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-xen | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | kernel-default | 0 | 3.12.39-47.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | kernel-source | 0 | 3.12.39-47.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | kernel-syms | 0 | 3.12.39-47.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | kernel-xen | 0 | 3.12.39-47.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | kernel-docs | 0 | 3.0.101-65.3 |
| SUSE:Linux Enterprise Software Development Kit 12 | kernel-docs | 0 | 3.12.39-47.3 |
| SUSE:Linux Enterprise Software Development Kit 12 | kernel-obs-build | 0 | 3.12.39-47.2 |
| SUSE:Linux Enterprise Workstation Extension 12 | kernel-default | 0 | 3.12.39-47.1 |
| Ubuntu:14.04:LTS | linux | 0 | 3.13.0-53.88 |
| Ubuntu:14.04:LTS | linux-aws | 0 | 4.4.0-1002.2 |
| Ubuntu:14.04:LTS | linux-lts-utopic | 0 | 3.16.0-36.48~14.04.1 |
| 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:18.04:LTS | linux-azure | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gcp | 0 | No fix |
| Ubuntu:18.04:LTS | linux-hwe | 0 | No fix |
| Ubuntu:18.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-fde | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gke | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gkeop | 0 | No fix |
| Ubuntu:20.04:LTS | linux-raspi2 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-riscv | 0 | No fix |
| Ubuntu:22.04:LTS | linux-intel-iot-realtime | 0 | No fix |
| Ubuntu:22.04:LTS | linux-realtime | 0 | No fix |
| Ubuntu:22.04:LTS | linux-riscv | 0 | No fix |
| Ubuntu:24.04:LTS | linux-azure-6.11 | 0 | No fix |
| Ubuntu:24.04:LTS | linux-gcp-6.11 | 0 | No fix |
| Ubuntu:24.04:LTS | linux-hwe-6.11 | 0 | No fix |
| Ubuntu:24.04:LTS | linux-lowlatency-hwe-6.11 | 0 | No fix |
| Ubuntu:24.04:LTS | linux-raspi-realtime | 0 | No fix |
| Ubuntu:24.04:LTS | linux-realtime | 0 | No fix |
| Ubuntu:24.04:LTS | linux-riscv | 0 | No fix |
| 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 |
| Ubuntu:Pro:18.04:LTS | linux-azure | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-gcp | 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:20.04:LTS | linux-azure-fde | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-azure-fde-5.15 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-gke | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-gkeop | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-raspi2 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-riscv | 0 | No fix |
Related vulnerabilities
- CVE-2025-38562 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix null… Also affects linux
- CVE-2025-38352 In the Linux kernel, the following vulnerability has been resolved: posix-cpu-timers: fix… Also affects linux
- CVE-2025-22037 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix null… Also affects linux
- CVE-2025-21760 In the Linux kernel, the following vulnerability has been resolved: ndisc: extend RCU… Also affects linux
- CVE-2025-21758 In the Linux kernel, the following vulnerability has been resolved: ipv6: mcast: add RCU… Also affects linux
- CVE-2025-21664 In the Linux kernel, the following vulnerability has been resolved: dm thin: make… Also affects linux
- CVE-2024-57946 In the Linux kernel, the following vulnerability has been resolved: virtio-blk: don't… Also affects linux
- CVE-2024-57945 In the Linux kernel, the following vulnerability has been resolved: riscv: mm: Fix the… Also affects linux