Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-15041

CVE-2026-15041: 389 Directory Server Info Disclosure Flaw

CVE-2026-15041 is an information disclosure vulnerability in 389 Directory Server caused by non-constant-time password hash comparison. This article covers the technical details, affected versions, impact, and mitigation.

Published:

CVE-2026-15041 Overview

CVE-2026-15041 is a timing side-channel vulnerability in the 389 Directory Server, an enterprise-class Lightweight Directory Access Protocol (LDAP) server. The PBKDF2-SHA256 password verification function uses the standard memcmp() routine to compare password hashes instead of a constant-time comparison function. A remote attacker could measure LDAP bind response timing to infer partial hash information. Practical exploitation is extremely difficult because PBKDF2 computational overhead dominates the observable timing signal. The issue is tracked under [CWE-208: Observable Timing Discrepancy].

Critical Impact

Remote timing measurements against LDAP bind attempts could leak partial password hash information, though exploitation complexity is high.

Affected Products

Discovery Timeline

  • 2026-07-08 - CVE-2026-15041 published to NVD
  • 2026-07-08 - Last updated in NVD database

Technical Details for CVE-2026-15041

Vulnerability Analysis

The flaw resides in the PBKDF2-SHA256 password scheme plugin of 389 Directory Server. When a client submits an LDAP bind request, the server derives a candidate hash from the supplied password and compares it against the stored hash. The comparison uses memcmp(), which returns as soon as the first differing byte is encountered. This early-exit behavior produces measurable timing differences correlated with how many leading bytes of the derived hash match the stored value.

An attacker with network access to the LDAP service can issue crafted bind attempts and measure server response latency. Over many samples, statistical analysis of timing distributions could reveal byte-by-byte information about the stored hash. However, the PBKDF2 key derivation function performs thousands of iterations of SHA-256 before comparison, introducing significant timing noise that masks the memcmp() signal.

Root Cause

The root cause is the use of a variable-time byte comparison routine for security-sensitive hash matching. Constant-time comparison functions such as CRYPTO_memcmp() or timingsafe_bcmp() exist specifically to avoid this class of side channel. The 389 Directory Server code path did not adopt one for PBKDF2-SHA256 verification.

Attack Vector

Exploitation requires network reachability to the LDAP bind interface and the ability to issue a large volume of authentication attempts. The attacker does not need credentials or user interaction. Confidentiality impact is limited to partial hash disclosure. Integrity and availability are unaffected. The vulnerability manifests only during bind operations that reach the PBKDF2-SHA256 verification path.

No public proof-of-concept, exploit code, or in-the-wild exploitation has been reported. See the Red Hat Bugzilla Report #2498022 for the upstream discussion.

Detection Methods for CVE-2026-15041

Indicators of Compromise

  • High-volume LDAP bind attempts from a single source targeting the same account
  • Repeated failed binds with minor password variations across short intervals
  • Unusual latency-probing patterns against port 389 or 636

Detection Strategies

  • Monitor 389 Directory Server access logs for burst patterns of BIND operations resulting in err=49 (invalid credentials) from a common client
  • Alert on statistically abnormal bind rates against service or administrative accounts
  • Correlate LDAP authentication failures with network flow data to identify timing-probe behavior

Monitoring Recommendations

  • Enable verbose LDAP access logging and forward events to a centralized analytics platform
  • Track per-account bind failure rates and set thresholds appropriate for the environment
  • Review authentication telemetry for repeated single-account probing over extended timeframes

How to Mitigate CVE-2026-15041

Immediate Actions Required

  • Apply vendor updates for 389-ds-base once available from your distribution
  • Restrict LDAP service exposure to trusted network segments and management VLANs
  • Enforce account lockout or rate limiting on repeated bind failures
  • Review authentication logs for signs of high-volume probing against service accounts

Patch Information

Consult the Red Hat CVE-2026-15041 Advisory for fixed package versions and downstream availability. Upstream fixes replace memcmp() with a constant-time comparison in the PBKDF2-SHA256 password scheme.

Workarounds

  • Place LDAP servers behind a firewall that permits access only from authorized clients
  • Deploy rate limiting or connection throttling on LDAP listeners to raise the cost of timing probes
  • Consider migrating to alternative password storage schemes if the environment permits, pending vendor patch
bash
# Example: restrict LDAP access with firewalld to trusted subnets
firewall-cmd --permanent --zone=internal --add-source=10.0.0.0/24
firewall-cmd --permanent --zone=internal --add-service=ldap
firewall-cmd --permanent --zone=internal --add-service=ldaps
firewall-cmd --permanent --zone=public --remove-service=ldap
firewall-cmd --permanent --zone=public --remove-service=ldaps
firewall-cmd --reload

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.