Every CVE Search/ Get API key

CVE-2021-28687

HVM soft-reset crashes toolstack libxl requires all data structures passed across its public...

5.5 MediumFix available

HVM soft-reset crashes toolstack libxl requires all data structures passed across its public interface to be initialized before use and disposed of afterwards by calling a specific set of functions. Many internal data structures also require this initialize / dispose discipline, but not all of them. When the "soft reset" feature was implemented, the libxl__domain_suspend_state structure didn't require any initialization or disposal. At some point later, an initialization function was introduced for the structure; but the "soft reset" path wasn't refactored to call the initialization function. When a guest nwo initiates a "soft reboot", uninitialized data structure leads to an assert() when later code finds the structure in an unexpected state. The effect of this is to crash the process monitoring the guest. How this affects the system depends on the structure of the toolstack. For xl, this will have no security-relevant effect: every VM has its own independent monitoring process, which contains no state. The domain in question will hang in a crashed state, but can be destroyed by xl destroy just like any other non-cooperating domain. For daemon-based toolstacks linked against libxl, such as libvirt, this will crash the toolstack, losing the state of any in-progress operations (localized DoS), and preventing further administrator operations unless the daemon is configured to restart automatically (system-wide DoS). If crashes "leak" resources, then repeated crashes could use up resources, also causing a system-wide DoS.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

0.31%Down 0.1 points since Jun 12, 2021
90%50%10%1%

What each source reports

NVD Score used 5.5

HVM soft-reset crashes toolstack libxl requires all data structures passed across its public interface to be initialized before use and disposed of afterwards by calling a specific set of functions. Many internal data structures also require this initialize / dispose discipline, but not all of them. When the "soft reset" feature was implemented, the libxl__domain_suspend_state structure didn't require any initialization or disposal. At some point later, an initialization function was introduced for the structure; but the "soft reset" path wasn't refactored to call the initialization function. When a guest nwo initiates a "soft reboot", uninitialized data structure leads to an assert() when later code finds the structure in an unexpected state. The effect of this is to crash the process monitoring the guest. How this affects the system depends on the structure of the toolstack. For xl, this will have no security-relevant effect: every VM has its own independent monitoring process, which contains no state. The domain in question will hang in a crashed state, but can be destroyed by xl destroy just like any other non-cooperating domain. For daemon-based toolstacks linked against libxl, such as libvirt, this will crash the toolstack, losing the state of any in-progress operations (localized DoS), and preventing further administrator operations unless the daemon is configured to restart automatically (system-wide DoS). If crashes "leak" resources, then repeated crashes could use up resources, also causing a system-wide DoS.

Record
CVE-2021-28687
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS 2.0
4.9 MediumAV:L/AC:L/Au:N/C:N/I:N/A:C
Weakness
CWE-909
Updated
2026-11-02
CVE List No score

HVM soft-reset crashes toolstack libxl requires all data structures passed across its public interface to be initialized before use and disposed of afterwards by calling a specific set of functions. Many internal data structures also require this initialize / dispose discipline, but not all of them. When the "soft reset" feature was implemented, the libxl__domain_suspend_state structure didn't require any initialization or disposal. At some point later, an initialization function was introduced for the structure; but the "soft reset" path wasn't refactored to call the initialization function. When a guest nwo initiates a "soft reboot", uninitialized data structure leads to an assert() when later code finds the structure in an unexpected state. The effect of this is to crash the process monitoring the guest. How this affects the system depends on the structure of the toolstack. For xl, this will have no security-relevant effect: every VM has its own independent monitoring process, which contains no state. The domain in question will hang in a crashed state, but can be destroyed by xl destroy just like any other non-cooperating domain. For daemon-based toolstacks linked against libxl, such as libvirt, this will crash the toolstack, losing the state of any in-progress operations (localized DoS), and preventing further administrator operations unless the daemon is configured to restart automatically (system-wide DoS). If crashes "leak" resources, then repeated crashes could use up resources, also causing a system-wide DoS.

Record
CVE-2021-28687
Updated
2026-11-02
EUVDEUVD-2021-15344 No score

HVM soft-reset crashes toolstack libxl requires all data structures passed across its public interface to be initialized before use and disposed of afterwards by calling a specific set of functions. Many internal data structures also require this initialize / dispose discipline, but not all of them. When the "soft reset" feature was implemented, the libxl__domain_suspend_state structure didn't require any initialization or disposal. At some point later, an initialization function was introduced for the structure; but the "soft reset" path wasn't refactored to call the initialization function. When a guest nwo initiates a "soft reboot", uninitialized data structure leads to an assert() when later code finds the structure in an unexpected state. The effect of this is to crash the process monitoring the guest. How this affects the system depends on the structure of the toolstack. For xl, this will have no security-relevant effect: every VM has its own independent monitoring process, which contains no state. The domain in question will hang in a crashed state, but can be destroyed by xl destroy just like any other non-cooperating domain. For daemon-based toolstacks linked against libxl, such as libvirt, this will crash the toolstack, losing the state of any in-progress operations (localized DoS), and preventing further administrator operations unless the daemon is configured to restart automatically (system-wide DoS). If crashes "leak" resources, then repeated crashes could use up resources, also causing a system-wide DoS.

Record
EUVD-2021-15344
Updated
2026-11-03
GitHub AdvisoriesGHSA-f8g3-gxq4-xqv7 No score

HVM soft-reset crashes toolstack libxl requires all data structures passed across its public...

HVM soft-reset crashes toolstack libxl requires all data structures passed across its public interface to be initialized before use and disposed of afterwards by calling a specific set of functions. Many internal data structures also require this initialize / dispose discipline, but not all of them. When the "soft reset" feature was implemented, the libxl__domain_suspend_state structure didn't require any initialization or disposal. At some point later, an initialization function was introduced for the structure; but the "soft reset" path wasn't refactored to call the initialization function. When a guest nwo initiates a "soft reboot", uninitialized data structure leads to an assert() when later code finds the structure in an unexpected state. The effect of this is to crash the process monitoring the guest. How this affects the system depends on the structure of the toolstack. For xl, this will have no security-relevant effect: every VM has its own independent monitoring process, which contains no state. The domain in question will hang in a crashed state, but can be destroyed by xl destroy just like any other non-cooperating domain. For daemon-based toolstacks linked against libxl, such as libvirt, this will crash the toolstack, losing the state of any in-progress operations (localized DoS), and preventing further administrator operations unless the daemon is configured to restart automatically (system-wide DoS). If crashes "leak" resources, then repeated crashes could use up resources, also causing a system-wide DoS.

Record
GHSA-f8g3-gxq4-xqv7
Weakness
CWE-909
Updated
2026-11-02
OSVALPINE-CVE-2021-28687 5.5

HVM soft-reset crashes toolstack libxl requires all data structures passed across its public interface to be initialized before use and disposed of afterwards by calling a specific set of functions. Many internal data structures also require this initialize / dispose discipline, but not all of them. When the "soft reset" feature was implemented, the libxl__domain_suspend_state structure didn't require any initialization or disposal. At some point later, an initialization function was introduced for the structure; but the "soft reset" path wasn't refactored to call the initialization function. When a guest nwo initiates a "soft reboot", uninitialized data structure leads to an assert() when later code finds the structure in an unexpected state. The effect of this is to crash the process monitoring the guest. How this affects the system depends on the structure of the toolstack. For xl, this will have no security-relevant effect: every VM has its own independent monitoring process, which contains no state. The domain in question will hang in a crashed state, but can be destroyed by xl destroy just like any other non-cooperating domain. For daemon-based toolstacks linked against libxl, such as libvirt, this will crash the toolstack, losing the state of any in-progress operations (localized DoS), and preventing further administrator operations unless the daemon is configured to restart automatically (system-wide DoS). If crashes "leak" resources, then repeated crashes could use up resources, also causing a system-wide DoS.

Record
ALPINE-CVE-2021-28687
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSV 5.5

HVM soft-reset crashes toolstack libxl requires all data structures passed across its public interface to be initialized before use and disposed of afterwards by calling a specific set of functions. Many internal data structures also require this initialize / dispose discipline, but not all of them. When the "soft reset" feature was implemented, the libxl__domain_suspend_state structure didn't require any initialization or disposal. At some point later, an initialization function was introduced for the structure; but the "soft reset" path wasn't refactored to call the initialization function. When a guest nwo initiates a "soft reboot", uninitialized data structure leads to an assert() when later code finds the structure in an unexpected state. The effect of this is to crash the process monitoring the guest. How this affects the system depends on the structure of the toolstack. For xl, this will have no security-relevant effect: every VM has its own independent monitoring process, which contains no state. The domain in question will hang in a crashed state, but can be destroyed by xl destroy just like any other non-cooperating domain. For daemon-based toolstacks linked against libxl, such as libvirt, this will crash the toolstack, losing the state of any in-progress operations (localized DoS), and preventing further administrator operations unless the daemon is configured to restart automatically (system-wide DoS). If crashes "leak" resources, then repeated crashes could use up resources, also causing a system-wide DoS.

Record
CVE-2021-28687
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
Show 5 moreShow less
OSVDEBIAN-CVE-2021-28687 5.5

HVM soft-reset crashes toolstack libxl requires all data structures passed across its public interface to be initialized before use and disposed of afterwards by calling a specific set of functions. Many internal data structures also require this initialize / dispose discipline, but not all of them. When the "soft reset" feature was implemented, the libxl__domain_suspend_state structure didn't require any initialization or disposal. At some point later, an initialization function was introduced for the structure; but the "soft reset" path wasn't refactored to call the initialization function. When a guest nwo initiates a "soft reboot", uninitialized data structure leads to an assert() when later code finds the structure in an unexpected state. The effect of this is to crash the process monitoring the guest. How this affects the system depends on the structure of the toolstack. For xl, this will have no security-relevant effect: every VM has its own independent monitoring process, which contains no state. The domain in question will hang in a crashed state, but can be destroyed by xl destroy just like any other non-cooperating domain. For daemon-based toolstacks linked against libxl, such as libvirt, this will crash the toolstack, losing the state of any in-progress operations (localized DoS), and preventing further administrator operations unless the daemon is configured to restart automatically (system-wide DoS). If crashes "leak" resources, then repeated crashes could use up resources, also causing a system-wide DoS.

Record
DEBIAN-CVE-2021-28687
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVopenSUSE-SU-2024:11520-1 No score

xen-4.15.1_01-1.2 on GA media

These are all security issues fixed in the xen-4.15.1_01-1.2 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11520-1
Updated
2026-11-02
OSVSUSE-SU-2021:1023-1 No score

Security update for xen

This update for xen fixes the following issues:

  • CVE-2021-3308: VUL-0: xen: IRQ vector leak on x86 (bsc#1181254, XSA-360)
  • CVE-2021-28687: VUL-0: xen: HVM soft-reset crashes toolstack (bsc#1183072, XSA-368)
  • CVE-2021-20257: VUL-0: xen: infinite loop issue in the e1000 NIC emulator (bsc#1182846)
  • CVE-2020-28368: VUL-0: xen: Intel RAPL sidechannel attack aka PLATYPUS attack aka (bsc#1178591, XSA-351)
  • L3: conring size for XEN HV's with huge memory to small. Inital Xen logs cut (bsc#1177204)
  • Kdump of HVM fails, soft-reset not handled by libxl (bsc#1179148)
  • OpenQA job causes libvirtd to dump core when running kdump inside domain (bsc#1181989)
  • Allow restart of xenwatchdogd, enable tuning of keep-alive interval and timeout options via XENWATCHDOGD_ARGS= (bsc#1178736)
  • The receiving side did detect holes in a to-be-allocated superpage, but allocated a superpage anyway. This resulted to over-allocation (bsc#1177112)
  • The receiving side may punch holes incorrectly into optimistically allocated superpages. Also reduce overhead in bitmap handling (bsc#1177112)
  • Upstream bug fixes (bsc#1027519)
Record
SUSE-SU-2021:1023-1
Updated
2026-11-02
OSVSUSE-SU-2021:1028-1 No score

Security update for xen

This update for xen fixes the following issues:

  • CVE-2021-3308: VUL-0: xen: IRQ vector leak on x86 (bsc#1181254, XSA-360)
  • CVE-2021-28687: HVM soft-reset crashes toolstack (bsc#1183072, XSA-368)
  • L3: conring size for XEN HV's with huge memory to small. Inital Xen logs cut (bsc#1177204)
  • L3: XEN domU crashed on resume when using the xl unpause command (bsc#1182576)
  • L3: xen: no needsreboot flag set (bsc#1180690)
  • kdump of HVM fails, soft-reset not handled by libxl (bsc#1179148)
  • openQA job causes libvirtd to dump core when running kdump inside domain (bsc#1181989)
  • Upstream bug fixes (bsc#1027519)
Record
SUSE-SU-2021:1028-1
Updated
2026-11-02
OSVSUSE-SU-2021:1460-1 No score

Security update for xen

This update for xen fixes the following issues:

  • CVE-2020-28368: Intel RAPL sidechannel attack aka PLATYPUS attack (bsc#1178591, XSA-351)
  • CVE-2021-3308: IRQ vector leak on x86 (bsc#1181254, XSA-360)
  • CVE-2021-28687: HVM soft-reset crashes toolstack (bsc#1183072, XSA-368)
  • L3: conring size for XEN HV's with huge memory to small (bsc#1177204).
  • kdump of HVM fails, soft-reset not handled by libxl (bsc#1179148)
  • openQA job causes libvirtd to dump core when running kdump inside domain (bsc#1181989).
  • Upstream bug fixes (bsc#1027519)
Record
SUSE-SU-2021:1460-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
xen
Alpine:v3.11
4.12 up to 4.13.3-r0
4.13.3-r0
xen
Alpine:v3.12
4.12 up to 4.13.3-r0
4.13.3-r0
xen
Alpine:v3.14
4.12 up to 4.15.0-r0
4.15.0-r0
xen
Alpine:v3.15
4.12 up to 4.15.0-r0
4.15.0-r0
xen
Alpine:v3.16
4.12 up to 4.15.0-r0
4.15.0-r0
xen
Alpine:v3.17
4.12 up to 4.15.0-r0
4.15.0-r0
xen
Alpine:v3.18
4.12 up to 4.15.0-r0
4.15.0-r0
xen
Alpine:v3.19
4.12 up to 4.15.0-r0
4.15.0-r0
xen
Alpine:v3.20
4.12 up to 4.15.0-r0
4.15.0-r0
xen
Alpine:v3.21
4.12 up to 4.15.0-r0
4.15.0-r0
Show 22 moreShow less
Affected packages
PackageAffectedFixed
xen
Alpine:v3.22
4.12 up to 4.15.0-r0
4.15.0-r0
xen
Alpine:v3.23
4.12 up to 4.15.0-r0
4.15.0-r0
xen
Alpine:v3.24
4.12 up to 4.15.0-r0
4.15.0-r0
xen
Debian:12
before 4.14.2+25-gb6a8c4f72d-1
4.14.2+25-gb6a8c4f72d-1
xen
Debian:13
before 4.14.2+25-gb6a8c4f72d-1
4.14.2+25-gb6a8c4f72d-1
xen
Debian:14
before 4.14.2+25-gb6a8c4f72d-1
4.14.2+25-gb6a8c4f72d-1
xen
SUSE:Linux Enterprise Software Development Kit 12 SP5
From an advisory covering 4 CVEs
before 4.12.4_09-3.39.3
4.12.4_09-3.39.3
xen
SUSE:Linux Enterprise Server 12 SP5
From an advisory covering 4 CVEs
before 4.12.4_09-3.39.3
4.12.4_09-3.39.3
xen
SUSE:Linux Enterprise Server for SAP Applications 12 SP5
From an advisory covering 4 CVEs
before 4.12.4_09-3.39.3
4.12.4_09-3.39.3
xen
SUSE:Linux Enterprise Module for Basesystem 15 SP2
From an advisory covering 2 CVEs
before 4.13.2_08-3.25.3
4.13.2_08-3.25.3
xen
SUSE:Linux Enterprise Module for Server Applications 15 SP2
From an advisory covering 2 CVEs
before 4.13.2_08-3.25.3
4.13.2_08-3.25.3
xen
SUSE:Linux Enterprise Micro 5.0
From an advisory covering 2 CVEs
before 4.13.2_08-3.25.3
4.13.2_08-3.25.3
xen
SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS
From an advisory covering 3 CVEs
before 4.12.4_08-3.43.3
4.12.4_08-3.43.3
xen
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS
From an advisory covering 3 CVEs
before 4.12.4_08-3.43.3
4.12.4_08-3.43.3
xen
SUSE:Linux Enterprise Server 15 SP1-BCL
From an advisory covering 3 CVEs
before 4.12.4_08-3.43.3
4.12.4_08-3.43.3
xen
SUSE:Linux Enterprise Server 15 SP1-LTSS
From an advisory covering 3 CVEs
before 4.12.4_08-3.43.3
4.12.4_08-3.43.3
xen
SUSE:Linux Enterprise Server for SAP Applications 15 SP1
From an advisory covering 3 CVEs
before 4.12.4_08-3.43.3
4.12.4_08-3.43.3
xen
SUSE:Manager Proxy 4.0
From an advisory covering 3 CVEs
before 4.12.4_08-3.43.3
4.12.4_08-3.43.3
xen
SUSE:Manager Retail Branch Server 4.0
From an advisory covering 3 CVEs
before 4.12.4_08-3.43.3
4.12.4_08-3.43.3
xen
SUSE:Manager Server 4.0
From an advisory covering 3 CVEs
before 4.12.4_08-3.43.3
4.12.4_08-3.43.3
xen
SUSE:Enterprise Storage 6
From an advisory covering 3 CVEs
before 4.12.4_08-3.43.3
4.12.4_08-3.43.3
xen
openSUSE:Tumbleweed
From an advisory covering 93 CVEs
before 4.15.1_01-1.2
4.15.1_01-1.2

History

History
RecordedChangedSources
affected, facts
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2021-28687 is a medium vulnerability (CVSS 5.5) in Xen, published April 6, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.31%, the 24th percentile. Fixed in xen 4.13.3-r0.

References

Show 110 moreShow less
MoveEnter Open