Fedora Account System
Red Hat Associate
Red Hat Customer
A flaw was found in 389 Directory Server (389-ds-base). The get_ruvelement_from_berval() function in ldap/servers/plugins/replication/repl5_ruv.c copies digit characters from a network-supplied RUV berval into a fixed 16-byte stack buffer (ridbuff[RIDSTR_SIZE]) without bounds checking the loop counter. A remote unauthenticated attacker can crash the ns-slapd process by sending a crafted StartNSDS50ReplicationRequest LDAP extended operation (OID 2.16.840.1.113730.3.5.12) containing more than 16 consecutive digit characters in the replica ID field. The overflow occurs during payload decoding in decode_startrepl_extop(), before the replica_is_updatedn() authorization check runs, making it exploitable without credentials on default configurations where anonymous access is enabled. On production builds with stack protectors, the impact is limited to denial of service (process abort). The vulnerable code path is: decode_startrepl_extop() -> decode_ruv() -> ruv_init_from_bervals() -> get_ruvelement_from_berval().