Kerberos是美国麻省理工学院(MIT)开发的一套网络认证协议,它采用客户端/服务器结构,并且客户端和服务器端均可对对方进行身份认证(即双重验证),可防止窃听、防止replay攻击等。MIT Kerberos 5(又名krb5)是美国麻省理工学院(MIT)开发的一套网络认证协议,它采用客户端/服务器结构,并且客户端和服务器端均可对对方进行身份认证(即双重验证),可防止窃听、防止replay攻击等。 Kerberos的管理守护程序kadmind在实现GSS-API时mechglue抽象接口存在内存管理错误,远程攻击者可能利用此漏洞导致拒绝服务或执行任意指令。 在kadmind中,log_badverf()函数未经检查返回值且没有初始化传送给gss_display_name()的gss_buffer_desc结构便调用了gss_display_name()。如果gss_display_name()遇到了某些错误情况的话,就不会初始化对其传送的gss_buffer_t输出参数,然后log_badverf()函数会记录返回字符串并调用这些gss_buffer_desc结构上的gss_release_buffer()。在使用RPCSEC_GSS时,kadmind使用了空服务器名称,因此在这种情况下至少有一个对gss_display_name()的调用会失败。 如果未初始化的指针值指向无效的地址空间的话,记录字符串的行为通常会导致内存访问错误,程序会崩溃。但如果攻击者能够控制未初始化的指针使其指向有效的地址空间的话,就可能导致执行任意代码。
Kerberos是美国麻省理工学院(MIT)开发的一套网络认证协议,它采用客户端/服务器结构,并且客户端和服务器端均可对对方进行身份认证(即双重验证),可防止窃听、防止replay攻击等。MIT Kerberos 5(又名krb5)是美国麻省理工学院(MIT)开发的一套网络认证协议,它采用客户端/服务器结构,并且客户端和服务器端均可对对方进行身份认证(即双重验证),可防止窃听、防止replay攻击等。 Kerberos的管理守护程序kadmind在实现GSS-API时mechglue抽象接口存在内存管理错误,远程攻击者可能利用此漏洞导致拒绝服务或执行任意指令。 在kadmind中,log_badverf()函数未经检查返回值且没有初始化传送给gss_display_name()的gss_buffer_desc结构便调用了gss_display_name()。如果gss_display_name()遇到了某些错误情况的话,就不会初始化对其传送的gss_buffer_t输出参数,然后log_badverf()函数会记录返回字符串并调用这些gss_buffer_desc结构上的gss_release_buffer()。在使用RPCSEC_GSS时,kadmind使用了空服务器名称,因此在这种情况下至少有一个对gss_display_name()的调用会失败。 如果未初始化的指针值指向无效的地址空间的话,记录字符串的行为通常会导致内存访问错误,程序会崩溃。但如果攻击者能够控制未初始化的指针使其指向有效的地址空间的话,就可能导致执行任意代码。