CVE-2021-4147
Medium · 6.5CVSS
6.5
EPSS
0.2%
Published
Mar 25, 2022
CISA due date
—
Cloudanix analysis
A flaw lets a virtual machine repeatedly restart itself and eventually freeze or crash the software that manages all virtual machines on the host.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
A malicious guest can trigger continuous reboots that deadlock or crash the libvirtd process on the host, resulting in denial of service.
Why it matters to the business
Virtualization hosts become unavailable, disrupting operations for all hosted workloads until the service is restarted.
How an attack unfolds
An attacker with control of a guest VM repeatedly initiates reboots, causing the host management daemon to enter a deadlock or crash state.
How to fix it
Upgrade to a fixed version of the affected software as listed in the provided per-package fixes.
How to confirm the fix worked
Confirm the installed version matches one of the listed fixed versions and verify that continuous guest reboots no longer cause host daemon failure.
Typical attack path
- Gain control of a guest virtual machine
- Trigger repeated reboot cycles from within the guest
- Observe or confirm host daemon deadlock or crash
How to detect it
Review virtualization host logs for repeated guest reboot patterns followed by libvirtd crashes or deadlocks.
What your security team should do
- Apply the listed fixed versions immediately
- Monitor for repeated guest reboot events
- Limit guest privileges where possible to reduce reboot abuse
The record
A flaw was found in the libvirt libxl driver. A malicious guest could continuously reboot itself and cause libvirtd on the host to deadlock or crash, resulting in a denial of service condition.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:10 | libvirt | 0 | 5.0.0-4+deb10u2 |
| Debian:11 | libvirt | 0 | 7.0.0-3+deb11u3 |
| Debian:12 | libvirt | 0 | 7.10.0-2 |
| Debian:13 | libvirt | 0 | 7.10.0-2 |
| SUSE:Enterprise Storage 6 | libvirt | 0 | 5.1.0-17.1 |
| SUSE:Enterprise Storage 7 | libvirt | 0 | 6.0.0-13.24.1 |
| SUSE:HPE Helion OpenStack 8 | libvirt | 0 | 3.3.0-5.49.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS | libvirt | 0 | 5.1.0-17.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | libvirt | 0 | 5.1.0-17.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS | libvirt | 0 | 6.0.0-13.24.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | libvirt | 0 | 6.0.0-13.24.1 |
| SUSE:Linux Enterprise High Performance Computing 15-ESPOS | libvirt | 0 | 4.0.0-9.40.1 |
| SUSE:Linux Enterprise High Performance Computing 15-LTSS | libvirt | 0 | 4.0.0-9.40.1 |
| SUSE:Linux Enterprise Micro 5.0 | libvirt | 0 | 6.0.0-13.24.1 |
| SUSE:Linux Enterprise Micro 5.1 | libvirt | 0 | 7.1.0-6.11.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP3 | libvirt | 0 | 7.1.0-6.11.1 |
| SUSE:Linux Enterprise Module for Server Applications 15 SP3 | libvirt | 0 | 7.1.0-6.11.1 |
| SUSE:Linux Enterprise Real Time 15 SP2 | libvirt | 0 | 6.0.0-13.24.1 |
| SUSE:Linux Enterprise Server 12 SP3-BCL | libvirt | 0 | 3.3.0-5.49.1 |
| SUSE:Linux Enterprise Server 12 SP3-LTSS | libvirt | 0 | 3.3.0-5.49.1 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | libvirt | 0 | 4.0.0-8.26.1 |
| SUSE:Linux Enterprise Server 12 SP5 | libvirt | 0 | 5.1.0-13.28.2 |
| SUSE:Linux Enterprise Server 15 SP1-BCL | libvirt | 0 | 5.1.0-17.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | libvirt | 0 | 5.1.0-17.1 |
| SUSE:Linux Enterprise Server 15 SP2-BCL | libvirt | 0 | 6.0.0-13.24.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | libvirt | 0 | 6.0.0-13.24.1 |
| SUSE:Linux Enterprise Server 15-LTSS | libvirt | 0 | 4.0.0-9.40.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | libvirt | 0 | 3.3.0-5.49.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | libvirt | 0 | 4.0.0-8.26.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | libvirt | 0 | 5.1.0-13.28.2 |
| SUSE:Linux Enterprise Server for SAP Applications 15 | libvirt | 0 | 4.0.0-9.40.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | libvirt | 0 | 5.1.0-17.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | libvirt | 0 | 6.0.0-13.24.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | libvirt | 0 | 5.1.0-13.28.2 |
| SUSE:Manager Proxy 4.1 | libvirt | 0 | 6.0.0-13.24.1 |
| SUSE:Manager Retail Branch Server 4.1 | libvirt | 0 | 6.0.0-13.24.1 |
| SUSE:Manager Server 4.1 | libvirt | 0 | 6.0.0-13.24.1 |
| SUSE:OpenStack Cloud 8 | libvirt | 0 | 3.3.0-5.49.1 |
| SUSE:OpenStack Cloud 9 | libvirt | 0 | 4.0.0-8.26.1 |
| SUSE:OpenStack Cloud Crowbar 8 | libvirt | 0 | 3.3.0-5.49.1 |
| SUSE:OpenStack Cloud Crowbar 9 | libvirt | 0 | 4.0.0-8.26.1 |
| Ubuntu:16.04:LTS | libvirt | 0 | No fix |
| Ubuntu:18.04:LTS | libvirt | 0 | 4.0.0-1ubuntu8.21 |
| Ubuntu:20.04:LTS | libvirt | 0 | 6.0.0-0ubuntu8.16 |
| Ubuntu:22.04:LTS | libvirt | 0 | 8.0.0-1ubuntu7 |
| Ubuntu:Pro:14.04:LTS | libvirt | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | libvirt | 0 | No fix |
| openSUSE:Leap 15.3 | libvirt | 0 | 7.1.0-6.11.1 |
| openSUSE:Tumbleweed | libvirt | 0 | 8.0.0-1.1 |
Related vulnerabilities
- CVE-2024-2494 A flaw was found in the RPC library APIs of libvirt. Also affects libvirt
- CVE-2024-2496 A NULL pointer dereference flaw was found in the udevConnectListAllInterfaces() function… Also affects libvirt
- CVE-2024-1441 An off-by-one error flaw was found in the udevListInterfacesByStatus() function in… Also affects libvirt
- CVE-2011-4600 The networkReloadIptablesRules function in network/bridge_driver.c in libvirt before… Also affects libvirt
- CVE-2014-0179 libvirt 0.7.5 through 1.2.x before 1.2.5 allows local users to cause a denial of service… Also affects libvirt
- CVE-2016-5008 libvirt before 2.0.0 improperly disables password checking when the password on a VNC… Also affects libvirt
- CVE-2014-3657 The virDomainListPopulate function in conf/domain_conf.c in libvirt before 1.2.9 does not… Also affects libvirt
- CVE-2023-3750 A flaw was found in libvirt. Also affects libvirt