Bug 1866270 (CVE-2020-15708)

Summary: CVE-2020-15708 libvirt: incorrect permissions on the UNIX domain socket allows local attacker to escalate privileges
Product: [Other] Security Response Reporter: Dhananjay Arunesh <darunesh>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED NOTABUG QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: agedosier, berrange, clalancette, eblake, erik-fedora, hvyas, itamar, jdenemar, jforbes, jsuchane, knoel, laine, libvirt-maint, marcandre.lureau, pkrempa, puebele, rjones, vbellur, veillard, virt-maint, virt-maint
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
A flaw was found in libvirt, where an incorrect permissions issue occurs on the UNIX domain socket. This flaw allows a local attacker to access libvirt and escalate their privileges. The highest threat from this vulnerability is to confidentiality, integrity, and system availability.
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-08-10 15:48:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1866271, 1866272    
Bug Blocks: 1866273    

Description Dhananjay Arunesh 2020-08-05 09:37:27 UTC
A vulnerability was found in libvirt, where an incorrect permissions on the UNIX domain socket. A local attacker could use this issue to access libvirt and escalate privileges.

References:
https://bugs.mageia.org/27038

Comment 1 Dhananjay Arunesh 2020-08-05 09:39:26 UTC
Created libvirt tracking bugs for this issue:

Affects: fedora-all [bug 1866271]


Created mingw-libvirt tracking bugs for this issue:

Affects: fedora-all [bug 1866272]

Comment 2 Daniel Berrangé 2020-08-05 09:53:27 UTC
This is an Ubuntu specific flaw because they change the libvirt defaults in their distro to disable use of polkit for authentication, without also changing the socket permissisons.

The normal upstream behaviour is that the socket is mode 0666, and when an unprivileged user connects, polkit will validate the client and require them to provide the root password before libvirt allows any RPC calls to be performed.

RHEL/Fedora follow this upstram behaviour and use polkit for auth, so there is no security flaw here.

Comment 4 Mauro Matteo Cascella 2020-08-10 15:56:43 UTC
Statement:

This is an Ubuntu specific flaw. The versions of `libvirt` as shipped with Red Hat Enterprise Linux and RHEL Advanced Virtualization are not affected by this issue, as they leverage `polkit` for authentication. More specifically, the socket permission is 0666, and when an unprivileged user connects, `polkit` will validate the client and require them to provide the root password before `libvirt` allows any RPC calls to be performed.