---
id: CVE-2025-38064
title: 'virtio: break and reset virtio devices on device_shutdown()'
summary: "In the Linux kernel, the following vulnerability has been resolved:\n\nvirtio: break and reset virtio devices on device_shutdown()\n\nHongyu reported a hang on kexec in a VM. QEMU reported invalid memory\naccesses during the hang.\n\n\tInvalid r…"
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= ec3d41c4db4c21164332826ea8d812f94f2f6886 <
    0c03e32494dd0bbcc301523e5ae567c2f567a7d9
  - >-
    Linux >= ec3d41c4db4c21164332826ea8d812f94f2f6886 <
    acdfe206be6c70ec55dc8bfdb1a22036d10fae26
  - >-
    Linux >= ec3d41c4db4c21164332826ea8d812f94f2f6886 <
    1eaa83fd94ed5e40d43139025f5acb7bcfed3b5f
  - >-
    Linux >= ec3d41c4db4c21164332826ea8d812f94f2f6886 <
    aee42f3d57bfa37b2716df4584edeecf63b9df4c
  - >-
    Linux >= ec3d41c4db4c21164332826ea8d812f94f2f6886 <
    8bd2fa086a04886798b505f28db4002525895203
  - Linux 2.6.24
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-10-15T21:46:59.627689Z'
published: '2025-06-18'
updated: '2026-10-30'
sourceUpdated: '2026-10-30T12:21:38.105Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2025-38064'
references:
  - url: 'https://git.kernel.org/stable/c/0c03e32494dd0bbcc301523e5ae567c2f567a7d9'
  - url: 'https://git.kernel.org/stable/c/acdfe206be6c70ec55dc8bfdb1a22036d10fae26'
  - url: 'https://git.kernel.org/stable/c/1eaa83fd94ed5e40d43139025f5acb7bcfed3b5f'
  - url: 'https://git.kernel.org/stable/c/aee42f3d57bfa37b2716df4584edeecf63b9df4c'
  - url: 'https://git.kernel.org/stable/c/8bd2fa086a04886798b505f28db4002525895203'
tags:
  - cve.org
epss: 0.00251
epssPercentile: 0.1654
ingestedAt: '2026-10-15T22:48:25.490Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

virtio: break and reset virtio devices on device_shutdown()

Hongyu reported a hang on kexec in a VM. QEMU reported invalid memory
accesses during the hang.

	Invalid read at addr 0x102877002, size 2, region '(null)', reason: rejected
	Invalid write at addr 0x102877A44, size 2, region '(null)', reason: rejected
	...

It was traced down to virtio-console. Kexec works fine if virtio-console
is not in use.

The issue is that virtio-console continues to write to the MMIO even after
underlying virtio-pci device is reset.

Additionally, Eric noticed that IOMMUs are reset before devices, if
devices are not reset on shutdown they continue to poke at guest memory
and get errors from the IOMMU. Some devices get wedged then.

The problem can be solved by breaking all virtio devices on virtio
bus shutdown, then resetting them.

## Affected

- `Linux >= ec3d41c4db4c21164332826ea8d812f94f2f6886 < 0c03e32494dd0bbcc301523e5ae567c2f567a7d9`
- `Linux >= ec3d41c4db4c21164332826ea8d812f94f2f6886 < acdfe206be6c70ec55dc8bfdb1a22036d10fae26`
- `Linux >= ec3d41c4db4c21164332826ea8d812f94f2f6886 < 1eaa83fd94ed5e40d43139025f5acb7bcfed3b5f`
- `Linux >= ec3d41c4db4c21164332826ea8d812f94f2f6886 < aee42f3d57bfa37b2716df4584edeecf63b9df4c`
- `Linux >= ec3d41c4db4c21164332826ea8d812f94f2f6886 < 8bd2fa086a04886798b505f28db4002525895203`
- `Linux 2.6.24`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
