Bug 1591480 (CVE-2018-10871)

Summary: CVE-2018-10871 389-ds-base: replication and the Retro Changelog plugin store plaintext password by default
Product: [Other] Security Response Reporter: Laura Pardo <lpardo>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: amsharma, cbuissar, mreynolds, nkinder, rmeggins, security-response-team, tbordaz, vashirov
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 389-ds-base 1.3.8.5, 389-ds-base 1.4.0.12 Doc Type: If docs needed, set a value
Doc Text:
By default, when the Replica and/or retroChangeLog plugins are enabled, 389-ds-base stores passwords in plaintext format in their respective changelog files. An attacker with sufficiently high privileges, such as root or Directory Manager, can query these files in order to retrieve plaintext passwords.
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-11-06 00:51:17 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: 1592226, 1592228, 1595766, 1684591    
Bug Blocks: 1591482    

Description Laura Pardo 2018-06-14 20:19:40 UTC
By default, when the Replica and/or retroChangeLog plugins are enabled, 389-ds-base stores password in plaintext format in their respective changelog files.

An attacker with sufficiently high privileges, such as root or Directory Manager, can query these files in order to retrieve plaintext passwords.

Comment 2 Cedric Buissart 2018-06-18 08:49:57 UTC
Created 389-ds-base tracking bugs for this issue:

Affects: fedora-all [bug 1592226]

Comment 4 Cedric Buissart 2018-06-27 13:38:08 UTC
*** Bug 1591481 has been marked as a duplicate of this bug. ***

Comment 6 Cedric Buissart 2018-06-27 13:51:48 UTC
External References:

https://pagure.io/389-ds-base/issue/49789

Comment 9 Cedric Buissart 2018-06-27 15:02:48 UTC
Mitigation:

On 389-ds-base 1.3.1 and above: 
1- Deactivate clear password storing by default, to prevent new passwords to be logged.
-> in cn=config, set nsslapd-unhashed-pw-switch attribute to 'off' or 'nolog'

2- Trim changelog to ensure currently stored passwords are removed.
For Replication:
-> in cn=changelog5,cn=config, reduce nsslapd-changelogmaxentries, nsslapd-changelogtrim-interval and nsslapd-changelogmaxage
-> force a replication & wait for the changelogtrim-interval time
-> restore previous values

For RetroChangelog:
-> deactivate the plugin
-> restart directory server
-> reactivate the plugin
-> restart directory server

Comment 15 errata-xmlrpc 2019-11-05 20:45:57 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2019:3401 https://access.redhat.com/errata/RHSA-2019:3401

Comment 16 Product Security DevOps Team 2019-11-06 00:51:17 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-2018-10871