RedHat: RHSA-2016-0204:01 Important: 389-ds-base security and bug fix update
Summary
The 389 Directory Server is an LDAP version 3 (LDAPv3) compliant server.
The base packages include the Lightweight Directory Access Protocol (LDAP)
server and command-line utilities for server administration.
An infinite-loop vulnerability was discovered in the 389 directory server,
where the server failed to correctly handle unexpectedly closed client
connections. A remote attacker able to connect to the server could use this
flaw to make the directory server consume an excessive amount of CPU and
stop accepting connections (denial of service). (CVE-2016-0741)
This update fixes the following bugs:
* Previously, if a simple paged results search failed in the back end, the
simple paged results slot was not released. Consequently, the simple paged
results slots in a connection object could be accumulated. With this
update, the simple paged results slot is released correctly when a search
fails, and unused simple paged results slots are no longer left in a
connection object. (BZ#1290725)
* Previously, when several values of the same attribute were deleted using
the ldapmodify command, and at least one of them was added again during the
same operation, the equality index was not updated. As a consequence, an
exact search for the re-added attribute value did not return the entry. The
logic of the index code has been modified to update the index if at least
one of the values in the entry changes, and the exact search for the
re-added attribute value now returns the correct entry. (BZ#1290726)
* Prior to this update, when the cleanAllRUV task was running, a bogus
attrlist_replace error message was logged repeatedly due to a memory
corruption. With this update, the appropriate memory copy function memmove
is used, which fixes the memory corruption. As a result, the error messages
are no longer logged in this scenario. (BZ#1295684)
* To fix a simple paged results bug, an exclusive lock on a connection was
previously added. This consequently caused a self deadlock in a particular
case. With this update, the exclusive lock on a connection has been changed
to the re-entrant type, and the self deadlock no longer occurs.
(BZ#1298105)
* Previously, an unnecessary lock was sometimes acquired on a connection
object, which could consequently cause a deadlock. A patch has been applied
to remove the unnecessary locking, and the deadlock no longer occurs.
(BZ#1299346)
Users of 389-ds-base are advised to upgrade to these updated packages,
which correct these issues. After installing this update, the 389 server
service will be restarted automatically.
Summary
Solution
Before applying this update, make sure all previously released errata
relevant to your system have been applied.
For details on how to apply this update, refer to:
https://access.redhat.com/articles/11258
References
https://access.redhat.com/security/cve/CVE-2016-0741 https://access.redhat.com/security/updates/classification/#important
Package List
Red Hat Enterprise Linux Client Optional (v. 7):
Source:
389-ds-base-1.3.4.0-26.el7_2.src.rpm
x86_64:
389-ds-base-1.3.4.0-26.el7_2.x86_64.rpm
389-ds-base-debuginfo-1.3.4.0-26.el7_2.x86_64.rpm
389-ds-base-devel-1.3.4.0-26.el7_2.x86_64.rpm
389-ds-base-libs-1.3.4.0-26.el7_2.x86_64.rpm
Red Hat Enterprise Linux ComputeNode Optional (v. 7):
Source:
389-ds-base-1.3.4.0-26.el7_2.src.rpm
x86_64:
389-ds-base-1.3.4.0-26.el7_2.x86_64.rpm
389-ds-base-debuginfo-1.3.4.0-26.el7_2.x86_64.rpm
389-ds-base-devel-1.3.4.0-26.el7_2.x86_64.rpm
389-ds-base-libs-1.3.4.0-26.el7_2.x86_64.rpm
Red Hat Enterprise Linux Server (v. 7):
Source:
389-ds-base-1.3.4.0-26.el7_2.src.rpm
ppc64le:
389-ds-base-1.3.4.0-26.el7_2.ppc64le.rpm
389-ds-base-debuginfo-1.3.4.0-26.el7_2.ppc64le.rpm
389-ds-base-libs-1.3.4.0-26.el7_2.ppc64le.rpm
x86_64:
389-ds-base-1.3.4.0-26.el7_2.x86_64.rpm
389-ds-base-debuginfo-1.3.4.0-26.el7_2.x86_64.rpm
389-ds-base-libs-1.3.4.0-26.el7_2.x86_64.rpm
Red Hat Enterprise Linux Server Optional (v. 7):
ppc64le:
389-ds-base-debuginfo-1.3.4.0-26.el7_2.ppc64le.rpm
389-ds-base-devel-1.3.4.0-26.el7_2.ppc64le.rpm
x86_64:
389-ds-base-debuginfo-1.3.4.0-26.el7_2.x86_64.rpm
389-ds-base-devel-1.3.4.0-26.el7_2.x86_64.rpm
Red Hat Enterprise Linux Workstation (v. 7):
Source:
389-ds-base-1.3.4.0-26.el7_2.src.rpm
x86_64:
389-ds-base-1.3.4.0-26.el7_2.x86_64.rpm
389-ds-base-debuginfo-1.3.4.0-26.el7_2.x86_64.rpm
389-ds-base-libs-1.3.4.0-26.el7_2.x86_64.rpm
Red Hat Enterprise Linux Workstation Optional (v. 7):
x86_64:
389-ds-base-debuginfo-1.3.4.0-26.el7_2.x86_64.rpm
389-ds-base-devel-1.3.4.0-26.el7_2.x86_64.rpm
These packages are GPG signed by Red Hat for security. Our key and
details on how to verify the signature are available from
https://access.redhat.com/security/team/key/
Topic
Updated 389-ds-base packages that fix one security issue and several bugsare now available for Red Hat Enterprise Linux 7.Red Hat Product Security has rated this update as having Important securityimpact. A Common Vulnerability Scoring System (CVSS) base score, whichgives a detailed severity rating, is available from the CVE link in theReferences section.
Topic
Relevant Releases Architectures
Red Hat Enterprise Linux Client Optional (v. 7) - x86_64
Red Hat Enterprise Linux ComputeNode Optional (v. 7) - x86_64
Red Hat Enterprise Linux Server (v. 7) - ppc64le, x86_64
Red Hat Enterprise Linux Server Optional (v. 7) - ppc64le, x86_64
Red Hat Enterprise Linux Workstation (v. 7) - x86_64
Red Hat Enterprise Linux Workstation Optional (v. 7) - x86_64
Bugs Fixed
1290725 - SimplePagedResults -- in the search error case, simple paged results slot was not released.
1290726 - The 'eq' index does not get updated properly when deleting and re-adding attributes in the same ldapmodify operation
1295684 - many attrlist_replace errors in connection with cleanallruv
1299346 - deadlock on connection mutex
1299416 - CVE-2016-0741 389-ds-base: worker threads do not detect abnormally closed connections causing DoS