安全研究

安全漏洞
MIT Kerberos KDC票据续约双重释放漏洞

发布日期:2010-04-20
更新日期:2010-04-21

受影响系统:
MIT Kerberos 5 1.7 - 1.8.1
不受影响系统:
MIT Kerberos 5 1.8.2
描述:
BUGTRAQ  ID: 39599
CVE ID: CVE-2010-1320

Kerberos是一款广泛使用的使用强壮的加密来验证客户端和服务器端的网络协议。MIT Kerberos 5是一种常用的开源Kerberos实现。

当process_tgs_req()函数处理已有票据的续约或验证时,会将从票据所获得的header_ticket->enc_part2拷贝到enc_tkt_reply(所生成的用于回复的新票据),这导致将enc_tkt_reply.authorization_data用作了属于请求内存的别名。当process_tgs_req()退出时,会释放header_ticket和enc_tkt_reply,导致两次释放了别名命名的内存。

在krb5-1.8版本中,TGS请求处理通常会添加signedpath授权数据元素,导致运行merge_authdata()。如需重新分配内存,merge_authdata()中的realloc()调用可能导致在process_tgs_req()末尾的清除代码之前额外释放一次来自header_ticket的授权数据。krb5-1.7版本在较罕见的环境中也可能遇到这种情况,如客户端提供授权数据希望KDC将其包含在新的票据中。

<*来源:Joel Johnson (mrjoel@lixil.net
  
  链接:http://web.mit.edu/kerberos/advisories/MITKRB5-SA-2010-004.txt
        http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=577490
        http://secunia.com/advisories/39420/
*>

建议:
厂商补丁:

MIT
---
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://web.mit.edu/kerberos/advisories/2010-004-patch.txt

浏览次数:2131
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障