Description
An integer underflow vulnerability was found in MIT krb5 in the berval2tl_data() function in plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c. The function performs an unsigned subtraction (bv_len - 2) without a prior bounds check. When bv_len is 0 or 1, the subtraction wraps to a large value which is then truncated to uint16_t, yielding 0xFFFE (65534) or 0xFFFF (65535). The subsequent malloc succeeds and memcpy reads up to 65534 bytes from a 0-1 byte buffer, resulting in a heap out-of-bounds read. The attack vector involves a malicious or compromised LDAP KDB backend returning a krbExtraData attribute with bv_len < 2, triggering the underflow when the KDC or kadmind reads principal data.
Problem types
Integer Underflow (Wrap or Wraparound)
Product status
Timeline
| 2026-04-21: | Reported to Red Hat. |
| 2026-04-21: | Made public. |
Credits
Red Hat would like to thank Sebastián Alba Vives for reporting this issue.
References
access.redhat.com/security/cve/CVE-2026-11850
bugzilla.redhat.com/show_bug.cgi?id=2459970 (RHBZ#2459970)