---
id: CVE-2026-18663
title: >-
  389-ds-base: 389-ds-base: pre-authentication double-free in
  get_ldapmessage_controls_ext() via critical session tracking control
summary: >-
  A flaw was found in 389-ds-base. The get_ldapmessage_controls_ext() function
  frees the parsed controls array on the Session Tracking critical-control
  rejection path without clearing the SLAPI_REQCONTROLS pblock slot. Operation
  teardown t…
severity: medium
cvss: 5.9
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H'
cvssSource: cna
cwe:
  - CWE-415
vendor: Red Hat
product: 'redhat-ds:11/389-ds-base'
affected:
  - 'redhat-ds:11/389-ds-base'
  - 'redhat-ds:12/389-ds-base'
  - 389-ds-base (all versions)
  - 389-ds-base (all versions)
  - 389-ds-base
  - 389-ds-base
  - '389-ds:1.4/389-ds-base'
  - 389-ds-base
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-08-13T15:40:56.481579Z'
published: '2026-08-12'
updated: '2026-11-05'
sourceUpdated: '2026-11-05T19:25:43.740Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-18663'
references:
  - url: 'https://access.redhat.com/security/cve/CVE-2026-18663'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2510631'
    label: RHBZ#2510631
tags:
  - cve.org
epss: 0.00511
epssPercentile: 0.43762
ingestedAt: '2026-11-05T22:38:31.541Z'
---

## Overview

A flaw was found in 389-ds-base. The get_ldapmessage_controls_ext() function frees the parsed controls array on the Session Tracking critical-control rejection path without clearing the SLAPI_REQCONTROLS pblock slot. Operation teardown then frees the same pointer again, causing a double-free. An unauthenticated remote attacker can trigger this with a single BIND request carrying a critical Session Tracking control, resulting in heap corruption and potential denial of service.

## Affected

- `redhat-ds:11/389-ds-base`
- `redhat-ds:12/389-ds-base`
- `389-ds-base (all versions)`
- `389-ds-base (all versions)`
- `389-ds-base`
- `389-ds-base`
- `389-ds:1.4/389-ds-base`
- `389-ds-base`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

### Workarounds

On builds that include upstream Issue 7389 (committed 2026-04-09, present in 389-ds-base-3.2 branch), administrators can add the Session Tracking control OID (1.3.6.1.4.1.21008.108.63.1) to the ds-ignored-control-criticality configuration attribute. This causes the server to ignore the criticality flag on this control, preventing the vulnerable rejection path from being reached.

Additionally, network-level restriction of access to the LDAP port (389/636) to trusted clients reduces exposure.
