Bug 1855273 (CVE-2020-15720)

Summary: CVE-2020-15720 pki: Dogtag's python client does not validate certificates
Product: [Other] Security Response Reporter: Cedric Buissart <cbuissar>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: alee, ascheel, edewata, kwright, mharmsen, rhcs-maint
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: pki 10.9.0 Doc Type: If docs needed, set a value
Doc Text:
A flaw was found in PKI, where the dogtag's pki.client.PKIConnection class disables the python-requests certificate validation. This flaw allows an attacker to intercept a connection between a FreeIPA client and a server, and execute an active Man-in-the-Middle attack. The highest threat from this vulnerability is to confidentiality and integrity.
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-04 02:26:19 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: 1426572, 1855854, 1855857, 1926320, 1926321    
Bug Blocks: 1850232    

Description Cedric Buissart 2020-07-09 12:27:02 UTC
Dogtag's pki.client.PKIConnection class disables python-requests certificate validation. The argument `verify=False` means that no certificate validation is performed at all [2]. The client accepts any certificate. Since the verify parameter is hard-coded in all request functions, it is not possible to override the setting.

PKIConnection should use requests default settings (verify with default certs) and offer an API to override default CA certs or disable requests.

[2] https://requests.readthedocs.io/en/master/user/advanced/#ssl-cert-verification

Comment 1 Cedric Buissart 2020-07-09 12:27:08 UTC
Acknowledgments:

Name: Christian Heimes

Comment 2 Cedric Buissart 2020-07-10 17:13:58 UTC
Created pki-core tracking bugs for this issue:

Affects: fedora-all [bug 1855854]

Comment 6 Cedric Buissart 2020-10-15 07:38:41 UTC
Statement:

In PKI, the pki.client.PKIConnection python class is used by the `pki-server` and `pkispawn` commands. `pki-server` runs locally on the server, thus not subject to a Person in the Middle attack. `pkispawn` may access remote node in decentralized or cloned contexts.

Identity Management (IPA) command line interface (the vault related sub-commands) may call pki.client.PKIConnection().

Comment 7 Product Security DevOps Team 2020-11-04 02:26:19 UTC
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s):

https://access.redhat.com/security/cve/cve-2020-15720

Comment 8 errata-xmlrpc 2020-11-04 03:14:59 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2020:4847 https://access.redhat.com/errata/RHSA-2020:4847