На уровне ввода-вывода SASL сервера каталогов 389 (389-ds-base) была обнаружена ошибка переполнения буфера кучи. В sasl_io_start_packet() длина завернутой записи, считанная из провода, проверяется только по верхней границе. Небольшая длина провода (0, 1 или 2) приводит к тому, что значение Encrypted_buffer_count ниже уже использованного значения Encrypt_buffer_offset, вызывая потерю беззнакового вычитания в sasl_io_read_packet().
Затем PR_Recv запрашивается для чтения примерно 4 ГиБ в буфер кучи размером 1024 байта, что приводит к переполнению буфера кучи содержимым, контролируемым злоумышленником. После успешного подключения SASL с защитой целостности (SSF > 0) злоумышленник, прошедший удаленную проверку подлинности, может вызвать отказ в обслуживании или потенциально добиться удаленного выполнения кода. Этот недостаток отличается от CVE-2026-11774, исправление которого защищает только от переполнения верхней границы.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v3.1