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.
Find out more about CVE-2018-10871 from the MITRE CVE dictionary dictionary and NIST NVD.
NOTE: The following CVSS v3 metrics and score provided are preliminary and subject to review.
CVSS3 Base Score | 3.8 |
---|---|
CVSS3 Base Metrics | CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:N |
Attack Vector | Network |
Attack Complexity | Low |
Privileges Required | High |
User Interaction | None |
Scope | Unchanged |
Confidentiality | Low |
Integrity Impact | Low |
Availability Impact | None |
Platform | Package | State |
---|---|---|
Red Hat Enterprise Linux 7 | 389-ds-base | Affected |
Red Hat Enterprise Linux 6 | 389-ds-base | Will not fix |
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