A heap buffer overflow flaw was found in the SASL I/O layer of 389 Directory Server (389-ds-base). In sasl_io_start_packet(), the wrapped-record length read from the wire is validated only against an upper bound. A small wire length (0, 1, or 2) produces an encrypted_buffer_count below the already-consumed encrypted_buffer_offset, causing an unsigned subtraction underflow in sasl_io_read_packet(). PR_Recv is then requested to read approximately 4 GiB into a 1024-byte heap buffer, resulting in a heap buffer overflow with attacker-controlled content. After a successful SASL bind with integrity protection (SSF > 0), a remote authenticated attacker can cause a denial of service or potentially achieve remote code execution. This flaw is distinct from CVE-2026-11774, whose fix only guards against upper-bound overflow.
{
"binaries": [
{
"binary_name": "389-ds",
"binary_version": "2.0.15-1ubuntu2"
},
{
"binary_name": "389-ds-base",
"binary_version": "2.0.15-1ubuntu2"
},
{
"binary_name": "389-ds-base-libs",
"binary_version": "2.0.15-1ubuntu2"
},
{
"binary_name": "cockpit-389-ds",
"binary_version": "2.0.15-1ubuntu2"
},
{
"binary_name": "python3-lib389",
"binary_version": "2.0.15-1ubuntu2"
}
]
}{
"binaries": [
{
"binary_name": "389-ds",
"binary_version": "2.4.5+dfsg1-1"
},
{
"binary_name": "389-ds-base",
"binary_version": "2.4.5+dfsg1-1"
},
{
"binary_name": "389-ds-base-libs",
"binary_version": "2.4.5+dfsg1-1"
},
{
"binary_name": "cockpit-389-ds",
"binary_version": "2.4.5+dfsg1-1"
},
{
"binary_name": "python3-lib389",
"binary_version": "2.4.5+dfsg1-1"
}
]
}{
"binaries": [
{
"binary_name": "389-ds",
"binary_version": "3.1.2+vendor1-2"
},
{
"binary_name": "389-ds-base",
"binary_version": "3.1.2+vendor1-2"
},
{
"binary_name": "389-ds-base-libs",
"binary_version": "3.1.2+vendor1-2"
},
{
"binary_name": "cockpit-389-ds",
"binary_version": "3.1.2+vendor1-2"
},
{
"binary_name": "python3-lib389",
"binary_version": "3.1.2+vendor1-2"
}
]
}{
"binaries": [
{
"binary_name": "389-ds",
"binary_version": "1.3.7.10-1ubuntu1+esm1"
},
{
"binary_name": "389-ds-base",
"binary_version": "1.3.7.10-1ubuntu1+esm1"
},
{
"binary_name": "389-ds-base-libs",
"binary_version": "1.3.7.10-1ubuntu1+esm1"
},
{
"binary_name": "python3-dirsrvtests",
"binary_version": "1.3.7.10-1ubuntu1+esm1"
},
{
"binary_name": "python3-lib389",
"binary_version": "1.3.7.10-1ubuntu1+esm1"
}
]
}{
"binaries": [
{
"binary_name": "389-ds",
"binary_version": "1.4.3.6-2ubuntu0.1~esm1"
},
{
"binary_name": "389-ds-base",
"binary_version": "1.4.3.6-2ubuntu0.1~esm1"
},
{
"binary_name": "389-ds-base-libs",
"binary_version": "1.4.3.6-2ubuntu0.1~esm1"
},
{
"binary_name": "cockpit-389-ds",
"binary_version": "1.4.3.6-2ubuntu0.1~esm1"
},
{
"binary_name": "python3-lib389",
"binary_version": "1.4.3.6-2ubuntu0.1~esm1"
}
]
}