CVE:CVE-2007-3999
CNNVD:CNNVD-200709-043
Kerberos是美国麻省理工学院（MIT）开发的一套网络认证协议，它采用客户端/服务器结构，并且客户端和服务器端均可对对方进行身份认证（即双重验证），可防止窃听、防止replay攻击等。MIT Kerberos 5（又名krb5）是美国麻省理工学院（MIT）开发的一套网络认证协议，它采用客户端/服务器结构，并且客户端和服务器端均可对对方进行身份认证（即双重验证），可防止窃听、防止replay攻击等。
Kerberos的RPC程序库在处理RPCSEC_GSS认证时存在缓冲区溢出漏洞，远程攻击者可能利用此漏洞控制服务器。
MIT krb5 Kerberos管理守护程序(kadmind)在实现RPCSEC_GSS认证时没有执行充分的长度检查便将不可信任的数据拷贝到了栈缓冲区。src/lib/rpc/svc_auth_gss.c文件的svcauth_gss_validate()函数用于认证入站的RPC消息，该函数中的memcpy()将很多字节拷贝到了128字节长的栈缓冲区rpchdr，具体长度取决于RPC头，是攻击者可控的。xdr_callmsg()调用提供svcauth_gss_validate()所使用的解码后的rpc_msg结构，确保所提供的长度不会超过MAX_AUTH_BYTES(400字节)，但目标缓冲区小于这个大小，因此可能被溢出。
在完成RPC消息认证之前就会执行有漏洞的代码，因此无须认证便可利用这个漏洞触发溢出，导致执行任意代码。请注意这是krb5所使用的RPC库中的漏洞，而不是Kerberos协议本身的漏洞。
solution:Upgrade mit kerberos_5 to a higher version than 1.4,1.4.1,1.4.2,1.4.3,1.4.4,1.5,1.5.1,1.5.2,1.5.3,1.6,1.6.1,1.6.2,and avoid the version 1.4,1.4.1,1.4.2,1.4.3,1.4.4,1.5,1.5.1,1.5.2,1.5.3,1.6,1.6.1,1.6.2