CVE-2025-58147

x86: Incorrect input sanitisation in Viridian hypercalls

Published Oct 31, 2025 CVSS 3.1 · 7.5 High EPSS < 1% KEV · Not listed
Description
[This CNA information record relates to multiple CVEs; the
text explains which aspects/vulnerabilities correspond to which CVE.]

Some Viridian hypercalls can specify a mask of vCPU IDs as an input, in
one of three formats. Xen has boundary checking bugs with all three
formats, which can cause out-of-bounds reads and writes while processing
the inputs.

* CVE-2025-58147. Hypercalls using the HV_VP_SET Sparse format can
cause vpmask_set() to write out of bounds when converting the bitmap
to Xen's format.

* CVE-2025-58148. Hypercalls using any input format can cause
send_ipi() to read d->vcpu[] out-of-bounds, and operate on a wild
vCPU pointer.

Remediation

Vendor Workaround

Not enabling Viridian will avoid the issuse.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Debian DSA Debian DSA DSA-6068-1 xen security update
History
Type Values Removed Values Added
CPEs cpe:2.3:o:xen:xen:*:*:*:*:*:*:*:*
Type Values Removed Values Added
First Time appeared Xen
Xen xen
Vendors & Products Xen
Xen xen
Type Values Removed Values Added
Weaknesses CWE-125
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description [This CNA information record relates to multiple CVEs; the text explains which aspects/vulnerabilities correspond to which CVE.] Some Viridian hypercalls can specify a mask of vCPU IDs as an input, in one of three formats. Xen has boundary checking bugs with all three formats, which can cause out-of-bounds reads and writes while processing the inputs. * CVE-2025-58147. Hypercalls using the HV_VP_SET Sparse format can cause vpmask_set() to write out of bounds when converting the bitmap to Xen's format. * CVE-2025-58148. Hypercalls using any input format can cause send_ipi() to read d->vcpu[] out-of-bounds, and operate on a wild vCPU pointer.
Title x86: Incorrect input sanitisation in Viridian hypercalls
References
Weaknesses

Sources

Status
PUBLISHED
Assigner
XEN
Published
Updated
Nov 4, 2025, 9:13 PM
Reserved
Aug 26, 2025, 6:48 AM
Status
Analyzed
Published
Oct 31, 2025, 12:15 PM
Modified
Oct 19, 2026, 1:10 PM