OpenLDAP服务器Kerberos 4 Bind请求远程栈溢出漏洞

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

OpenLDAP是一款开放源代码的轻量级目录访问协议(LDAP)实现。 OpenLDAP在处理Kerberos Bind请求时存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞在服务器上执行任意指令。 OpenLDAP代码的servers/slapd/kerberos.c文件中的krbv4_ldap_auth函数存在缓冲区溢出漏洞,该函数处理指定了LDAP_AUTH_KRBV41认证方式的LDAP bind请求,cred变量包含有指向客户端所发送Kerberos认证数据的指针。由于在将其拷贝到栈上固定大小缓冲区之前没有检查数据长度,因此攻击者可以通过发送大于1250字节的bind请求触发溢出,导致执行任意指令。漏洞代码如下: krbv4_ldap_auth( Backend *be, struct berval *cred, AUTH_DAT *ad ) { KTEXT_ST k; KTEXT ktxt = &amp;k; char instance[INST_SZ]; int err; Debug( LDAP_DEBUG_TRACE, &quot;=&gt; kerberosv4_ldap_auth\n&quot;, 0, 0, 0 ); AC_MEMCPY( ktxt-&gt;dat, cred-&gt;bv_val, cred-&gt;bv_len ); ktxt-&gt;length = cred-&gt;bv_len; 请注意必须以&quot;--enable-kbind&quot;选项编译了OpenLDAP才可能存在这个漏洞 OpenLDAP OpenLDAP <= 2.4.3 目前厂商还没有提供补丁或者升级程序 SEBUG建议使用此软件的用户随时关注厂商的主页以获取最新版本: <a href="http://www.openldap.org/" target="_blank">http://www.openldap.org/</a>

0%
暂无可用Exp或PoC
当前有0条受影响产品信息