Every CVE Search/ Get API key

CVE-2026-86345

389-ds-base: 389-ds-base: starttls plaintext-buffer retention allows on-path attacker to forge an ldap client's authentication result

9.0 Critical

A flaw was found in 389-ds-base. The server does not discard plaintext bytes already buffered from a client connection when negotiating StartTLS, allowing an on-path attacker to inject a crafted LDAP message that is processed after the TLS upgrade and whose response is delivered to the client in place of the client's own pending operation's response, due to messageID collision. This can cause a client application to treat a failed authentication (bind) attempt as successful.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

0.38%Unchanged since Oct 2, 2026
90%50%10%1%

What each source reports

CVE List Score used 9.0

389-ds-base: 389-ds-base: starttls plaintext-buffer retention allows on-path attacker to forge an ldap client's authentication result

A flaw was found in 389-ds-base. The server does not discard plaintext bytes already buffered from a client connection when negotiating StartTLS, allowing an on-path attacker to inject a crafted LDAP message that is processed after the TLS upgrade and whose response is delivered to the client in place of the client's own pending operation's response, due to messageID collision. This can cause a client application to treat a failed authentication (bind) attempt as successful.

Record
CVE-2026-86345
CVSS 3.1
9.0 CriticalCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
Weakness
CWE-923
Updated
2026-11-07
EUVDEUVD-2026-91139 9.0

A flaw was found in 389-ds-base. The server does not discard plaintext bytes already buffered from a client connection when negotiating StartTLS, allowing an on-path attacker to inject a crafted LDAP message that is processed after the TLS upgrade and whose response is delivered to the client in place of the client's own pending operation's response, due to messageID collision. This can cause a client application to treat a failed authentication (bind) attempt as successful.

Record
EUVD-2026-91139
CVSS 3.1
9.0 CriticalCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
Updated
2026-11-07
GitHub AdvisoriesGHSA-c4v7-fhgq-r988 9.0

A flaw was found in 389-ds-base. The server does not discard plaintext bytes already buffered...

A flaw was found in 389-ds-base. The server does not discard plaintext bytes already buffered from a client connection when negotiating StartTLS, allowing an on-path attacker to inject a crafted LDAP message that is processed after the TLS upgrade and whose response is delivered to the client in place of the client's own pending operation's response, due to messageID collision. This can cause a client application to treat a failed authentication (bind) attempt as successful.

Record
GHSA-c4v7-fhgq-r988
CVSS 3.1
9.0 CriticalCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
Weakness
CWE-923
Updated
2026-11-02
NVD 9.0

A flaw was found in 389-ds-base. The server does not discard plaintext bytes already buffered from a client connection when negotiating StartTLS, allowing an on-path attacker to inject a crafted LDAP message that is processed after the TLS upgrade and whose response is delivered to the client in place of the client's own pending operation's response, due to messageID collision. This can cause a client application to treat a failed authentication (bind) attempt as successful.

Record
CVE-2026-86345
CVSS 3.1
9.0 CriticalCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
Weakness
CWE-923
Updated
2026-11-06
OSVDEBIAN-CVE-2026-86345 9.0

A flaw was found in 389-ds-base. The server does not discard plaintext bytes already buffered from a client connection when negotiating StartTLS, allowing an on-path attacker to inject a crafted LDAP message that is processed after the TLS upgrade and whose response is delivered to the client in place of the client's own pending operation's response, due to messageID collision. This can cause a client application to treat a failed authentication (bind) attempt as successful.

Record
DEBIAN-CVE-2026-86345
CVSS 3.1
9.0 CriticalCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2026-86345 9.0

A flaw was found in 389-ds-base. The server does not discard plaintext bytes already buffered from a client connection when negotiating StartTLS, allowing an on-path attacker to inject a crafted LDAP message that is processed after the TLS upgrade and whose response is delivered to the client in place of the client's own pending operation's response, due to messageID collision. This can cause a client application to treat a failed authentication (bind) attempt as successful.

Record
UBUNTU-CVE-2026-86345
CVSS 3.1
9.0 CriticalCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
Updated
2026-11-02
Show 5 moreShow less
OSVAZL-107954 No score

CVE-2026-86345 affecting package 389-ds-base 3.1.1-12

A flaw was found in 389-ds-base. The server does not discard plaintext bytes already buffered from a client connection when negotiating StartTLS, allowing an on-path attacker to inject a crafted LDAP message that is processed after the TLS upgrade and whose response is delivered to the client in place of the client's own pending operation's response, due to messageID collision. This can cause a client application to treat a failed authentication (bind) attempt as successful.

Record
AZL-107954
Updated
2026-11-05
OSVCLSA-2026-1792597970 No score

389-ds-base: Fix of 2 CVEs

  • CVE-2026-86345: reject StartTLS when plaintext data is buffered after the request
  • CVE-2026-86344: fix worker pool exhaustion via partial LDAP messages
Record
CLSA-2026-1792597970
Updated
2026-11-02
OSVopenSUSE-SU-2026:12312-1 No score

389-ds-3.3.1+28b6d8afc-1.1 on GA media

These are all security issues fixed in the 389-ds-3.3.1+28b6d8afc-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:12312-1
Updated
2026-11-02
OSVSUSE-SU-2026:4929-1 No score

Security update for 389-ds

This update for 389-ds fixes the following issues:

  • CVE-2026-11770: pre-auth LDAP filter injection in CleanAllRUV status check (bsc#1273133).
  • CVE-2026-18355: heap buffer overflow in the SASL I/O layer allows a remote authenticated attacker to cause a denial of service or potentially achieve remote code execution (bsc#1279864).
  • CVE-2026-18453: pre-authentication NULL pointer dereference via paged results and USE_ONE_BACKEND control in op_shared_search (bsc#1279572).
  • CVE-2026-18922: stale identity carried in a Cyrus SASL auxiliary property during SASL PLAIN authentication allows unauthenticated attackers to achieve privilege escalation to Directory Manager (bsc#1279865).
  • CVE-2026-19843: unescaped LDAP DN in Cockpit 389 Console LDAP editor allows an LDAP user with delegated privileges to execute shell commands with root privileges on the directory server host (bsc#1279866).
  • CVE-2026-76560: incorrect matching in the SELFDN ACI bind-rule evaluator allows an anonymous LDAP client to bypass access controls on directory entries containing empty SELFDN attributes (bsc#1279867).
  • CVE-2026-86344: incomplete LDAP messages sent in rapid succession can cause worker thread exhaustion (bsc#1284028).
  • CVE-2026-86345: smuggled plaintext commands sent alongside StartTLS requests can cause response forgery and authentication bypasses (bsc#1284034).

Update to version 2.2.11~git12.1e612cde2:

  • Issue 7919 - CVE-2026-86344 - Fix worker pool exhaustion via partial LDAP messages (DoS)
  • Issue 7921 - Fix StartTLS plaintext buffer handling (#7922) (#7947)

Update to version 2.2.11~git10.1f26fcebd:

  • Issue 7912 - dsidm role create-filtered ignores --nsrolefilter and forces an interactive prompt (#7913)
  • Issue 7908 - dsctl cockpit open-firewall --zone passes a malformed argument (#7909)
  • Issue 7848 - Reject incomplete MD5 and GOST-YESCRYPT hashes (#7849)
  • Issue 7837 - importing ldif with entry with long attribute name and subtype causes stack-buffer-overflow (#7838)
  • Issue 6270 - heap-use-after-free with pwp dictionary path (#7791)
  • Issue 7611 - PBKDF2 password verification should reject invalid iteration counts (#7632) (#7854)
  • iadvisories/GHSA-rgxx-hcc4-x3h4 / heap-buffer-overflow in rdn_av_swap (#7826)
  • Migrate pwdchan to base64 0.23 Engine API
  • Update rust-dependencies

Update to version 2.2.11~git1.98ee3aac7:

  • Issue 7757 - stack-buffer-overflow caused by slapi_attr_init_syntax() (#7759)
  • Bump version to 2.2.11
  • Security fix for CVE-2026-76560
  • Security fix for CVE-2026-19843
  • Security fix for CVE-2026-18922
  • Security fix for CVE-2026-18453
  • Security fix for CVE-2026-18355
  • Issue 7595 - Remove the nightly dedup gate and fix dispatched test runs
  • Fix expiration time check (#7718)
  • Issue 7774 - Add backport action (#7775)
  • Issue 7770 - Testimony failure in test_cleanruv_extop_security.py (#7771)
  • Issue 1704 - Include stdbool.h in slapi headers on 2.4 (#7768)
  • CVE-2026-11770 - Fix StartReplicationRequest auth gate response format
  • Security fix for CVE-2026-11770
  • Issue 3082 - Add test389.topologies compatibility shim for backports (#7725)
  • Issue 7595 - Skip redundant CI runs to relieve the Actions queue (#7755)
  • Issue 4701 - Fix UAF when excluding attrs from retro changelog (#7730)
  • Issue 7723 - Range search returns an empty result when its start key is removed (#7724)
  • Issue 7735 - Heap overflow when parsing objectclass superior (#7736)
  • Issue 7733 - Typo about nsuniqueid in tombstone_to_conflict (#7734)
  • Issue 7707 - lib389: set nsDS5ReplicaBindDNGroup before ensure_agreement() in join_supplier/hub/consumer (#7708)
Record
SUSE-SU-2026:4929-1
Updated
2026-11-02
OSVSUSE-SU-2026:4932-1 No score

Security update for 389-ds

This update for 389-ds fixes the following issues:

  • CVE-2026-11770: pre-auth LDAP filter injection in CleanAllRUV status check (bsc#1273133).
  • CVE-2026-18355: heap buffer overflow in the SASL I/O layer allows a remote authenticated attacker to cause a denial of service or potentially achieve remote code execution (bsc#1279864).
  • CVE-2026-18453: pre-authentication NULL pointer dereference via paged results and USE_ONE_BACKEND control in op_shared_search (bsc#1279572).
  • CVE-2026-18922: stale identity carried in a Cyrus SASL auxiliary property during SASL PLAIN authentication allows unauthenticated attackers to achieve privilege escalation to Directory Manager (bsc#1279865).
  • CVE-2026-19843: unescaped LDAP DN in Cockpit 389 Console LDAP editor allows an LDAP user with delegated privileges to execute shell commands with root privileges on the directory server host (bsc#1279866).
  • CVE-2026-76560: incorrect matching in the SELFDN ACI bind-rule evaluator allows an anonymous LDAP client to bypass access controls on directory entries containing empty SELFDN attributes (bsc#1279867).
  • CVE-2026-86344: incomplete LDAP messages sent in rapid succession can cause worker thread exhaustion (bsc#1284028).
  • CVE-2026-86345: smuggled plaintext commands sent alongside StartTLS requests can cause response forgery and authentication bypasses (bsc#1284034).

Update to version 2.2.11~git12.1e612cde2:

  • Issue 7919 - CVE-2026-86344 - Fix worker pool exhaustion via partial LDAP messages (DoS)
  • Issue 7921 - Fix StartTLS plaintext buffer handling (#7922) (#7947)

Update to version 2.2.11~git10.1f26fcebd:

  • Issue 7912 - dsidm role create-filtered ignores --nsrolefilter and forces an interactive prompt (#7913)
  • Issue 7908 - dsctl cockpit open-firewall --zone passes a malformed argument (#7909)
  • Issue 7848 - Reject incomplete MD5 and GOST-YESCRYPT hashes (#7849)
  • Issue 7837 - importing ldif with entry with long attribute name and subtype causes stack-buffer-overflow (#7838)
  • Issue 6270 - heap-use-after-free with pwp dictionary path (#7791)
  • Issue 7611 - PBKDF2 password verification should reject invalid iteration counts (#7632) (#7854)
  • iadvisories/GHSA-rgxx-hcc4-x3h4 / heap-buffer-overflow in rdn_av_swap (#7826)
  • Migrate pwdchan to base64 0.23 Engine API
  • Update rust-dependencies

Update to version 2.2.11~git1.98ee3aac7:

  • Issue 7757 - stack-buffer-overflow caused by slapi_attr_init_syntax() (#7759)
  • Bump version to 2.2.11
  • Security fix for CVE-2026-76560
  • Security fix for CVE-2026-19843
  • Security fix for CVE-2026-18922
  • Security fix for CVE-2026-18453
  • Security fix for CVE-2026-18355
  • Issue 7595 - Remove the nightly dedup gate and fix dispatched test runs
  • Fix expiration time check (#7718)
  • Issue 7774 - Add backport action (#7775)
  • Issue 7770 - Testimony failure in test_cleanruv_extop_security.py (#7771)
  • Issue 1704 - Include stdbool.h in slapi headers on 2.4 (#7768)
  • CVE-2026-11770 - Fix StartReplicationRequest auth gate response format
  • Security fix for CVE-2026-11770
  • Issue 3082 - Add test389.topologies compatibility shim for backports (#7725)
  • Issue 7595 - Skip redundant CI runs to relieve the Actions queue (#7755)
  • Issue 4701 - Fix UAF when excluding attrs from retro changelog (#7730)
  • Issue 7723 - Range search returns an empty result when its start key is removed (#7724)
  • Issue 7735 - Heap overflow when parsing objectclass superior (#7736)
  • Issue 7733 - Typo about nsuniqueid in tombstone_to_conflict (#7734)
  • Issue 7707 - lib389: set nsDS5ReplicaBindDNGroup before ensure_agreement() in join_supplier/hub/consumer (#7708)
Record
SUSE-SU-2026:4932-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
389-ds-base
Azure Linux:3
through 3.1.1-12 None known
389-ds-base
TuxCare:AlmaLinux:9.2
From an advisory covering 2 CVEs
before 2.2.4-5.el9_2.tuxcare.els11
2.2.4-5.el9_2.tuxcare.els11
389-ds-base-devel
TuxCare:AlmaLinux:9.2
From an advisory covering 2 CVEs
before 2.2.4-5.el9_2.tuxcare.els11
2.2.4-5.el9_2.tuxcare.els11
389-ds-base-libs
TuxCare:AlmaLinux:9.2
From an advisory covering 2 CVEs
before 2.2.4-5.el9_2.tuxcare.els11
2.2.4-5.el9_2.tuxcare.els11
389-ds-base-snmp
TuxCare:AlmaLinux:9.2
From an advisory covering 2 CVEs
before 2.2.4-5.el9_2.tuxcare.els11
2.2.4-5.el9_2.tuxcare.els11
python3-lib389
TuxCare:AlmaLinux:9.2
From an advisory covering 2 CVEs
before 2.2.4-5.el9_2.tuxcare.els11
2.2.4-5.el9_2.tuxcare.els11
389-ds-base
Debian:12
All versions, plus listed versions
2.3.1+dfsg1-12.3.1+dfsg1-1+deb12u12.3.4+dfsg1-12.3.4+dfsg1-1.12.4.4+dfsg1-1
Show 13 moreShow less
2.4.4+dfsg1-32.4.5+dfsg1-13.0.2+dfsg1-13.1.1+dfsg1-13.1.1+dfsg1-23.1.1+dfsg1-33.1.2+dfsg1-13.1.2+vendor1-13.1.2+vendor1-23.3.0-13.3.0-23.3.1-13.3.1-3
None known
389-ds-base
Debian:13
All versions, plus listed versions
3.1.2+dfsg1-13.1.2+dfsg1-1+deb13u13.1.2+vendor1-13.1.2+vendor1-23.3.0-13.3.0-23.3.1-13.3.1-3
None known
389-ds
SUSE:Linux Enterprise Server 15 SP6-LTSS
From an advisory covering 8 CVEs
before 2.2.11~git12.1e612cde2-150600.8.38.1
2.2.11~git12.1e612cde2-150600.8.38.1
389-ds
SUSE:Linux Enterprise Server for SAP Applications 15 SP6
From an advisory covering 8 CVEs
before 2.2.11~git12.1e612cde2-150600.8.38.1
2.2.11~git12.1e612cde2-150600.8.38.1
Show 12 moreShow less
Affected packages
PackageAffectedFixed
389-ds
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS
From an advisory covering 8 CVEs
before 2.2.11~git12.1e612cde2-150500.3.54.1
2.2.11~git12.1e612cde2-150500.3.54.1
389-ds
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS
From an advisory covering 8 CVEs
before 2.2.11~git12.1e612cde2-150500.3.54.1
2.2.11~git12.1e612cde2-150500.3.54.1
389-ds
SUSE:Linux Enterprise Server 15 SP5-LTSS
From an advisory covering 8 CVEs
before 2.2.11~git12.1e612cde2-150500.3.54.1
2.2.11~git12.1e612cde2-150500.3.54.1
389-ds
SUSE:Linux Enterprise Server for SAP Applications 15 SP5
From an advisory covering 8 CVEs
before 2.2.11~git12.1e612cde2-150500.3.54.1
2.2.11~git12.1e612cde2-150500.3.54.1
389-ds-base
Ubuntu:Pro:16.04:LTS
All versions, plus listed versions
1.3.3.12-1build11.3.3.13-11.3.4.5-21.3.4.8-11.3.4.8-3
Show 4 moreShow less
1.3.4.8-3ubuntu11.3.4.8-41.3.4.9-11.3.4.9-1ubuntu0.1~esm1
None known
389-ds-base
Ubuntu:Pro:18.04:LTS
All versions, plus listed versions
1.3.7.5-11.3.7.5-1build11.3.7.5-1build21.3.7.9-11.3.7.10-11.3.7.10-1ubuntu11.3.7.10-1ubuntu1+esm1
None known
389-ds-base
Ubuntu:Pro:20.04:LTS
All versions, plus listed versions
1.4.1.6-41.4.1.6-4build11.4.2.4-11.4.2.4-1build11.4.3.2-11.4.3.2-1build11.4.3.6-21.4.3.6-2ubuntu0.1~esm1
None known
389-ds-base
Ubuntu:22.04:LTS
All versions, plus listed versions
1.4.4.11-2build11.4.4.11-2build21.4.4.17-12.0.11-22.0.14-12.0.15-12.0.15-1ubuntu2
None known
389-ds-base
Ubuntu:24.04:LTS
All versions, plus listed versions
2.3.4+dfsg1-12.4.4+dfsg1-1ubuntu12.4.4+dfsg1-1ubuntu42.4.4+dfsg1-32.4.5+dfsg1-1
None known
389-ds-base
Ubuntu:26.10
All versions, plus listed versions
3.1.2+vendor1-23.1.2+vendor1-2build13.3.1-3
None known
389-ds-base
Ubuntu:26.04:LTS
All versions, plus listed versions
3.1.2+dfsg1-13.1.2+vendor1-2
None known
389-ds
openSUSE:Tumbleweed
From an advisory covering 2 CVEs
before 3.3.1+28b6d8afc-1.1
3.3.1+28b6d8afc-1.1

History

History
RecordedChangedSources
affected, factsCVE List, EUVD, NVD
factsOSV
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-86345 is a critical vulnerability (CVSS 9.0) in Red Hat Directory Server 11, published October 1, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.38%, the 32nd percentile. No source names a fixed version.

References

Show 21 moreShow less
MoveEnter Open