CVE-2020-15708
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Nov 6, 2020
CISA due date
—
Cloudanix analysis
A packaging mistake on certain Ubuntu systems let any user on the computer tamper with the software that manages virtual machines, risking unauthorized changes or control of those machines.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Application
- Class
- Misconfiguration
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Local attacker with access to the host can connect to the world-readable and writable libvirt control socket, allowing arbitrary file writes or code execution within the context of the libvirt process.
Why it matters to the business
Attackers on the same system can gain elevated access, tamper with virtualization configurations, or disrupt virtual machines, leading to downtime, data integrity issues, and potential full host compromise on affected Ubuntu systems.
How an attack unfolds
An attacker with local shell access locates the overly permissive libvirt control socket created by the packaging, connects directly to it, and issues commands that leverage the socket's privileges to overwrite files or inject and execute code.
How to fix it
Upgrade to a corrected libvirt packaging for Ubuntu 20.04 LTS or later releases that enforces proper socket permissions; verify and correct ownership and mode on the control socket if manual mitigation is required.
How to confirm the fix worked
Confirm the control socket permissions are no longer world-readable and writable (mode 660 or stricter, owned by root:libvirt), and test that non-privileged users cannot connect or issue commands.
Typical attack path
- Obtain local user access on an affected Ubuntu 20.04 host
- Locate the world-writable libvirt control socket
- Connect to the socket using standard tools
- Issue commands to overwrite arbitrary files or execute code
How to detect it
Review system logs for unexpected connections or commands to the libvirt control socket, and inspect file integrity or recent modifications to virtualization configuration and socket files.
What your security team should do
- Prioritize patching all Ubuntu 20.04 systems running libvirt
- Audit socket permissions across virtualization hosts
- Restrict local user access on systems hosting libvirt
- Monitor for unexpected file modifications in virtualization directories
The record
Ubuntu's packaging of libvirt in 20.04 LTS created a control socket with world read and write permissions. An attacker could use this to overwrite arbitrary files or execute arbitrary code.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| SUSE:Enterprise Storage 5 | libvirt | 0 | 3.3.0-5.46.1 |
| SUSE:HPE Helion OpenStack 8 | libvirt | 0 | 3.3.0-5.46.1 |
| SUSE:Linux Enterprise High Performance Computing 15-ESPOS | libvirt | 0 | 4.0.0-9.35.1 |
| SUSE:Linux Enterprise High Performance Computing 15-LTSS | libvirt | 0 | 4.0.0-9.35.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP1 | libvirt | 0 | 5.1.0-8.24.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP2 | libvirt | 0 | 6.0.0-13.8.1 |
| SUSE:Linux Enterprise Module for Server Applications 15 SP1 | libvirt | 0 | 5.1.0-8.24.1 |
| SUSE:Linux Enterprise Module for Server Applications 15 SP2 | libvirt | 0 | 6.0.0-13.8.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | libvirt | 0 | 2.0.0-27.64.1 |
| SUSE:Linux Enterprise Server 12 SP2-LTSS | libvirt | 0 | 2.0.0-27.64.1 |
| SUSE:Linux Enterprise Server 12 SP3-BCL | libvirt | 0 | 3.3.0-5.46.1 |
| SUSE:Linux Enterprise Server 12 SP3-LTSS | libvirt | 0 | 3.3.0-5.46.1 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | libvirt | 0 | 4.0.0-8.23.1 |
| SUSE:Linux Enterprise Server 12 SP5 | libvirt | 0 | 5.1.0-13.19.1 |
| SUSE:Linux Enterprise Server 15-LTSS | libvirt | 0 | 4.0.0-9.35.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | libvirt | 0 | 2.0.0-27.64.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | libvirt | 0 | 3.3.0-5.46.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | libvirt | 0 | 4.0.0-8.23.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | libvirt | 0 | 5.1.0-13.19.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 | libvirt | 0 | 4.0.0-9.35.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | libvirt | 0 | 5.1.0-13.19.1 |
| SUSE:OpenStack Cloud 7 | libvirt | 0 | 2.0.0-27.64.1 |
| SUSE:OpenStack Cloud 8 | libvirt | 0 | 3.3.0-5.46.1 |
| SUSE:OpenStack Cloud 9 | libvirt | 0 | 4.0.0-8.23.1 |
| SUSE:OpenStack Cloud Crowbar 8 | libvirt | 0 | 3.3.0-5.46.1 |
| SUSE:OpenStack Cloud Crowbar 9 | libvirt | 0 | 4.0.0-8.23.1 |
| Ubuntu:20.04:LTS | libvirt | 0 | 6.0.0-0ubuntu8.3 |
| openSUSE:Leap 15.1 | libvirt | 0 | 5.1.0-lp151.7.10.1 |
| openSUSE:Leap 15.2 | libvirt | 0 | 6.0.0-lp152.9.6.2 |
| openSUSE:Tumbleweed | libvirt | 0 | 7.7.0-2.1 |
Related vulnerabilities
- CVE-2021-4147 A flaw was found in the libvirt libxl driver. 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-2024-8235 A flaw was found in libvirt. Also affects libvirt
- CVE-2023-3750 A flaw was found in libvirt. Also affects libvirt
- CVE-2025-13193 A flaw was found in libvirt. Also affects libvirt
- CVE-2025-12748 A flaw was discovered in libvirt in the XML file processing. Also affects libvirt
- CVE-2011-4600 The networkReloadIptablesRules function in network/bridge_driver.c in libvirt before… Also affects libvirt