MIT Kerberos 5 KAdminD服务程序SVCAuth_GSS_Validate远程栈溢出漏洞

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1199929 漏洞类型 缓冲区溢出
发布时间 2005-04-01 更新时间 2007-09-10
CVE编号 CVE-2007-4743 CNNVD-ID CNNVD-200709-056
漏洞平台 N/A CVSS评分 10.0
|漏洞来源
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200709-056
|漏洞详情
Kerberos是美国麻省理工学院(MIT)开发的一套网络认证协议,它采用客户端/服务器结构,并且客户端和服务器端均可对对方进行身份认证(即双重验证),可防止窃听、防止replay攻击等。MITKerberos5(又名krb5)是美国麻省理工学院(MIT)开发的一套网络认证协议,它采用客户端/服务器结构,并且客户端和服务器端均可对对方进行身份认证(即双重验证),可防止窃听、防止replay攻击等。Kerberos的RPC程序库在处理RPCSEC_GSS认证时存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞控制服务器。MITkrb5Kerberos管理守护程序(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协议本身的漏洞。
|参考资料

来源:US-CERT
名称:TA07-319A
链接:http://www.us-cert.gov/cas/techalerts/TA07-319A.html
来源:article.gmane.org
链接:http://article.gmane.org/gmane.comp.encryption.kerberos.announce/86
来源:issues.rpath.com
链接:https://issues.rpath.com/browse/RPL-1696
来源:UBUNTU
名称:USN-511-2
链接:http://www.ubuntu.com/usn/usn-511-2
来源:BID
名称:26444
链接:http://www.securityfocus.com/bid/26444
来源:BUGTRAQ
名称:20070907FLEA-2007-0050-1krb5krb5-workstation
链接:http://www.securityfocus.com/archive/1/archive/1/478794/100/0/threaded
来源:BUGTRAQ
名称:20070906rPSA-2007-0179-1krb5krb5-serverkrb5-serviceskrb5-testkrb5-workstation
链接:http://www.securityfocus.com/archive/1/archive/1/478748/100/0/threaded
来源:REDHAT
名称:RHSA-2007:0892
链接:http://www.redhat.com/support/errata/RHSA-2007-0892.html
来源:SUSE
名称:SUSE-SR:2007:019
链接:http://www.novell.com/linux/security/advisories/2007_19_sr.html
来源:VUPEN
名称:ADV-2007-3868
链接:http://www.frsirt.com/english/advisories/2007/3868
来源:DEBIAN
名称:DSA-1387
链接:http://www.debian.org/security/2007/dsa-1387
来源:SECUNIA