中国站

MIT Kerberos 5 KAdminD服务程序rename_principal_2_svc()函数远程栈溢出漏洞

CNNVD-ID编号 CNNVD-200706-482 CVE编号 CVE-2007-2798
发布时间 2006-06-01 更新时间 2007-08-13
漏洞类型 缓冲区溢出 漏洞来源 N/A
危险等级 高危 威胁类型 特定网络环境
厂商 mit

漏洞介绍

Kerberos是美国麻省理工学院(MIT)开发的一套网络认证协议,它采用客户端/服务器结构,并且客户端和服务器端均可对对方进行身份认证(即双重验证),可防止窃听、防止replay攻击等。MIT Kerberos 5(又名krb5)是美国麻省理工学院(MIT)开发的一套网络认证协议,它采用客户端/服务器结构,并且客户端和服务器端均可对对方进行身份认证(即双重验证),可防止窃听、防止replay攻击等。

Kerberos中负责处理重新命名主体的代码中存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞控制服务器。

rename_principal_2_svc函数没有对用户提供数据执行边界检查便拷贝到了固定大小的缓冲区,漏洞代码如下:

542 generic_ret *

543 rename_principal_2_svc(rprinc_arg *arg, struct svc_req *rqstp)

544 {

545 static generic_ret ret;

546 char *prime_arg1,

547 *prime_arg2;

548 char prime_arg[BUFSIZ];

...

570 if (krb5_unparse_name(handle->context, arg->src, &prime_arg1) ||

571 krb5_unparse_name(handle->context, arg->dest, &prime_arg2)) {

572 ret.code = KADM5_BAD_PRINCIPAL;

573 goto exit_func;

574 }

575 sprintf(prime_arg, \"\\%s to \\%s\", prime_arg1, prime_arg2);

在570和571行从kadmind服务程序环境中获得了攻击者提供的数据,在575行以静态文本连接源主体名和目标主体名时会出现栈溢出。

成功攻击可能导致完全入侵Kerberos密钥数据库,破坏KDC主机的安全性(kadmind通常以root权限运行),不成功的攻击也会导致kadmind崩溃。

漏洞补丁

目前厂商已经发布了升级补丁以修复这个安全问题,补丁下载链接:

参考网址

受影响实体

信息来源

查询漏洞

    • 漏洞名称
    • CVE编号
    • CNNVD编号
  • 开始时间

  • 结束时间