CVE-2026-12528
Description
A flaw was found in 389 Directory Server in the __aclp__normalize_acltxt() function of aclparse.c. A malformed ACI (Access Control Instruction) string can trigger heap-buffer-overflow writes and reads during ACI parsing. The function fails to validate that the ACI keyword has sufficient length after whitespace stripping, leading to a 1-byte out-of-bounds write and subsequent out-of-bounds reads. An authenticated user with write access to the aci attribute could send a crafted ACI value to silently corrupt heap memory in the directory server process.
Statement
This flaw in 389 Directory Server has a Low impact. A heap buffer overflow in the ACI parsing function can be triggered by a specially crafted Access Control Instruction (ACI) string. While modern Red Hat Directory Server configurations typically limit write access to the aci attribute to the Directory Manager, certain older deployments or custom ACI patterns could allow other authenticated users to introduce the malformed string. The resulting 1-byte heap corruption is silent in production builds and is not considered weaponizable for code execution.
Mitigation
Ensure that only highly privileged accounts (Directory Manager or explicitly delegated ACI administrators) have write access to the 'aci' attribute. Review existing ACIs for overly broad targetattr rules (especially negated rules like targetattr!="..." or wildcards like targetattr="*") that may inadvertently grant regular users write access to operational attributes including 'aci'. The 389 DS ACI linting tool (lib389) can help identify such misconfigurations.
Common Vulnerability Scoring System (CVSS) Score Details
Info alert:Important note
CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).
The following CVSS metrics and score provided are preliminary and subject to review.
CVSS v3 Score Breakdown
| Red Hat | NVD | cve.org | |
|---|---|---|---|
| Base Score | 5.4 | 5.4 | N/A |
| Attack Vector | Network | Network | N/A |
| Attack Complexity | Low | Low | N/A |
| Privileges Required | Low | Low | N/A |
| User Interaction | None | None | N/A |
| Scope | Unchanged | Unchanged | N/A |
| Confidentiality | None | None | N/A |
| Integrity Impact | Low | Low | N/A |
| Availability Impact | Low | Low | N/A |
Vector
Red Hat: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L
NVD: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L
Red Hat CVSS v3 Score Explanation
PR:L - in many real-world deployments (older RHDS, upgraded instances, or common targetattr!=... / targetattr=* ACI patterns), any authenticated user can write the aci attribute. I:L - 1-byte heap write (fixed value 'l'/0x6C, fixed offset +2) silently corrupts adjacent memory in production builds; not controllable. A:L - ASAN is not enabled in production builds; heap corruption is silent and does not reliably crash ns-slapd.
Understanding the Weakness (CWE)
Integrity
Technical Impact: Modify Memory; Execute Unauthorized Code or Commands
Write operations could cause memory corruption. In some cases, an adversary can modify control data such as return addresses in order to execute unexpected code.
Availability
Technical Impact: DoS: Crash, Exit, or Restart
Attempting to access out-of-range, invalid, or unauthorized memory could cause the product to crash.
Other
Technical Impact: Unexpected State
Subsequent write operations can produce undefined or unexpected results.
Frequently Asked Questions
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.