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

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1199930 漏洞类型 缓冲区溢出
发布时间 2005-04-01 更新时间 2007-09-06
CVE编号 CVE-2007-3999 CNNVD-ID CNNVD-200709-043
漏洞平台 N/A CVSS评分 10.0
|漏洞来源
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200709-043
|漏洞详情
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
来源:US-CERT
名称:VU#883632
链接:http://www.kb.cert.org/vuls/id/883632
来源:FEDORA
名称:FEDORA-2007-2017
链接:https://www.redhat.com/archives/fedora-package-announce/2007-September/msg00087.html
来源:MISC
链接:https://bugzilla.redhat.com/show_bug.cgi?id=250973
来源:MISC
链接:http://www.zerodayinitiative.com/advisories/ZDI-07-052.html
来源:UBUNTU
名称:USN-511-1
链接:http://www.ubuntu.com/usn/usn-511-1
来源:TRUSTIX
名称:2007-0026
链接:http://www.trustix.org/errata/2007/0026/
来源:SECTRACK
名称:1018647
链接:http://www.securitytracker.com/id?1018647
来源:BID
名称:26444
链接:http://www.securityfocus.com/bid/26444
来源:BID
名称:25534
链接:http://www.securityfocus.com/bid/25534
来源:BUGTRAQ
名称:20070912ZDI-07-052:MultipleKerberosImplementationsAuthenticationContextStackOverflowVulnerability
链接:http://www.securityfocus.com/archive/1/archive/1/479251/100/0/threaded
来源:BUGTRAQ
名称:20070906rPSA-2007-0179-1krb5krb5-serverkrb5-serviceskrb5-testkrb5-workstation
链接:http://w