OpenSSL 'dtls1_retrieve_buffered_fragment()' DTLS报文拒绝服务漏洞

2009-06-01T00:00:00
ID SSV:11490
Type seebug
Reporter Root
Modified 2009-06-01T00:00:00

Description

Bugraq ID: 35138 CVE ID:CVE-2009-1379

OpenSSL是一款开放源码的SSL实现,用来实现网络通信的高强度加密。 OpenSSL 'dtls1_retrieve_buffered_fragment()'存在设计问题,远程攻击者可以利用漏洞对应用程序进行拒绝服务攻击。 当运行: ./openssl s_server -dtls1 -no_ecdhe -timeout -cert large.pem 并执行如下命令: ./openssl s_client -dtls1 会在客户端触发段错误,GDB显示错误发生在d1_both.c:539行: return frag->msg_header.frag_len; 由于函数访问已经释放的数据结构,导致'dtls1_retrieve_buffered_fragment()'处理报文时可导致应用程序崩溃。

OpenSSL 1.0 Beta2 厂商解决方案 可参考如下补丁: OpenSSL Project OpenSSL 1.0 Beta2 OpenSSL Project retrieve_buffered_fragment.patch <a href="http://rt.openssl.org/Ticket/Attachment/22142/10060/retrieve_buffered_" target="blank" rel=external nofollow>http://rt.openssl.org/Ticket/Attachment/22142/10060/retrieve_buffered</a> fragment.patch