CVE-2017-9287
Medium · 6.5CVSS
6.5
EPSS
7.2%
Published
May 29, 2017
CISA due date
—
Cloudanix analysis
A bug in directory lookup software lets someone who can search the directory crash the service, interrupting logins and lookups until it is restarted.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Network Service
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Double free in OpenLDAP slapd back-mdb search handling when a Paged Results control with page size 0 is processed, resulting in memory corruption that crashes the daemon and produces denial of service.
Why it matters to the business
Directory service outages interrupt authentication, authorization, and directory lookups for dependent applications, causing operational downtime; the vulnerability appears in widely used packaging such as WordPress and Helm deployments.
How an attack unfolds
An attacker with directory search privileges crafts a search request that includes the LDAP Paged Results control specifying a page size of zero. The request reaches the vulnerable back-mdb code path, triggering the double free and immediate slapd termination. Public exploit code has been available since disclosure.
How to fix it
Upgrade affected OpenLDAP deployments to the fixed revisions supplied by each product: wordpress/wordpress to commit ab5f082a5c8b958175e9860b4aff947a3b354f6c and helm (Bitnami) to version 3.6.1 or later. Where direct OpenLDAP upgrades are used, apply the corresponding upstream patch that eliminates the double-free path.
How to confirm the fix worked
Confirm the installed package or source revision matches a listed fixed version, then execute a directory search that includes the Paged Results control with page size zero against a non-production instance and verify the server remains stable.
Typical attack path
- Obtain or compromise an account with LDAP search rights
- Issue a search operation containing the Paged Results control set to page size zero
- Trigger double-free condition in back-mdb/search.c
- Observe slapd crash and loss of directory availability
How to detect it
Review slapd process and system logs for abrupt terminations coinciding with LDAP search operations; inspect core dumps or backtraces that reference back-mdb/search.c around the time of the crash.
What your security team should do
- Prioritize upgrade of all listed affected products within the next maintenance window
- Temporarily restrict LDAP search access to trusted principals until patches are applied
- Add monitoring for unexpected slapd process terminations and review crash logs
The record
servers/slapd/back-mdb/search.c in OpenLDAP through 2.4.44 is prone to a double free vulnerability. A user with access to search the directory can crash slapd by issuing a search including the Paged Results control with a page size of 0.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.10 | openldap | 0 | 2.4.44-r5 |
| Alpine:v3.11 | openldap | 0 | 2.4.44-r5 |
| Alpine:v3.12 | openldap | 0 | 2.4.44-r5 |
| Alpine:v3.13 | openldap | 0 | 2.4.44-r5 |
| Alpine:v3.14 | openldap | 0 | 2.4.44-r5 |
| Alpine:v3.15 | openldap | 0 | 2.4.44-r5 |
| Alpine:v3.16 | openldap | 0 | 2.4.44-r5 |
| Alpine:v3.17 | openldap | 0 | 2.4.44-r5 |
| Alpine:v3.18 | openldap | 0 | 2.4.44-r5 |
| Alpine:v3.19 | openldap | 0 | 2.4.44-r5 |
| Alpine:v3.20 | openldap | 0 | 2.4.44-r5 |
| Alpine:v3.21 | openldap | 0 | 2.4.44-r5 |
| Alpine:v3.22 | openldap | 0 | 2.4.44-r5 |
| Alpine:v3.3 | openldap | 0 | 2.4.44-r1 |
| Alpine:v3.4 | openldap | 0 | 2.4.44-r2 |
| Alpine:v3.5 | openldap | 0 | 2.4.44-r4 |
| Alpine:v3.6 | openldap | 0 | 2.4.44-r5 |
| Alpine:v3.7 | openldap | 0 | 2.4.44-r5 |
| Alpine:v3.8 | openldap | 0 | 2.4.44-r5 |
| Alpine:v3.9 | openldap | 0 | 2.4.44-r5 |
| Debian:11 | openldap | 0 | 2.4.44+dfsg-5 |
| Debian:12 | openldap | 0 | 2.4.44+dfsg-5 |
| Debian:13 | openldap | 0 | 2.4.44+dfsg-5 |
| Debian:7 | openldap | 0 | 2.4.31-2+deb7u3 |
| Debian:8 | openldap | 0 | 2.4.40+dfsg-1+deb8u3 |
| Mageia:5 | openldap | 0 | 2.4.45-1.mga5 |
| Red Hat:enterprise_linux:7::client | openldap | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::client | openldap-clients | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::client | openldap-debuginfo | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::client | openldap-devel | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::client | openldap-servers | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::client | openldap-servers-sql | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::computenode | openldap | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::computenode | openldap-clients | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::computenode | openldap-debuginfo | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::computenode | openldap-devel | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::computenode | openldap-servers | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::computenode | openldap-servers-sql | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::server | openldap | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::server | openldap-clients | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::server | openldap-debuginfo | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::server | openldap-devel | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::server | openldap-servers | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::server | openldap-servers-sql | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::workstation | openldap | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::workstation | openldap-clients | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::workstation | openldap-debuginfo | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::workstation | openldap-devel | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::workstation | openldap-servers | 0 | 0:2.4.44-5.el7 |
| Red Hat:enterprise_linux:7::workstation | openldap-servers-sql | 0 | 0:2.4.44-5.el7 |
| SUSE:Linux Enterprise Desktop 12 SP2 | openldap2 | 0 | 2.4.41-18.29.1 |
| SUSE:Linux Enterprise Module for Legacy 12 | openldap2 | 0 | 2.4.41-18.24.9.7 |
| SUSE:Linux Enterprise Server 12 SP1-LTSS | openldap2 | 0 | 2.4.41-18.24.9.7 |
| SUSE:Linux Enterprise Server 12 SP1-LTSS | openldap2-client | 0 | 2.4.41-18.24.9.1 |
| SUSE:Linux Enterprise Server 12 SP2 | openldap2 | 0 | 2.4.41-18.29.1 |
| SUSE:Linux Enterprise Server 12-LTSS | openldap2 | 0 | 2.4.41-18.24.9.7 |
| SUSE:Linux Enterprise Server 12-LTSS | openldap2-client | 0 | 2.4.41-18.24.9.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | openldap2 | 0 | 2.4.41-18.29.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | openldap2 | 0 | 2.4.41-18.24.9.7 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | openldap2-client | 0 | 2.4.41-18.24.9.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | openldap2 | 0 | 2.4.41-18.24.9.7 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | openldap2-client | 0 | 2.4.41-18.24.9.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | openldap2 | 0 | 2.4.41-18.29.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | openldap2 | 0 | 2.4.41-18.24.9.7 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | openldap2 | 0 | 2.4.41-18.24.9.7 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | openldap2 | 0 | 2.4.41-18.24.9.7 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | openldap2 | 0 | 2.4.41-18.29.1 |
| Ubuntu:14.04:LTS | openldap | 0 | 2.4.31-1+nmu2ubuntu8.4 |
| Ubuntu:16.04:LTS | openldap | 0 | 2.4.42+dfsg-2ubuntu3.2 |
Related vulnerabilities
- CVE-2023-2953 A vulnerability was found in openldap. Also affects openldap
- CVE-2015-6908 The ber_get_next function in libraries/liblber/io.c in OpenLDAP 2.4.42 and earlier allows… Also affects openldap
- CVE-2014-9713 The default slapd configuration in the Debian openldap package 2.4.23-3 through… Also affects openldap
- CVE-2015-1545 The deref_parseCtrl function in servers/slapd/overlays/deref.c in OpenLDAP 2.4.13 through… Also affects openldap
- CVE-2013-4449 The rwm overlay in OpenLDAP 2.4.23, 2.4.36, and earlier does not properly count… Also affects openldap
- CVE-2012-1164 slapd in OpenLDAP before 2.4.30 allows remote attackers to cause a denial of service… Also affects openldap
- CVE-2011-1081 modrdn.c in slapd in OpenLDAP 2.4.x before 2.4.24 allows remote attackers to cause a… Also affects openldap
- CVE-2010-0211 The slap_modrdn2mods function in modrdn.c in OpenLDAP 2.4.22 does not check the return… Also affects openldap