[Pkg-openssl-changes] r381 - in openssl/trunk: crypto/pqueue debian ssl
Kurt Roeckx
kroeckx at alioth.debian.org
Wed May 27 19:01:02 UTC 2009
Author: kroeckx
Date: 2009-05-27 19:01:02 +0000 (Wed, 27 May 2009)
New Revision: 381
Modified:
openssl/trunk/crypto/pqueue/pqueue.c
openssl/trunk/crypto/pqueue/pqueue.h
openssl/trunk/debian/changelog
openssl/trunk/ssl/d1_pkt.c
Log:
Fix "DTLS record buffer limitation bug." (CVE-2009-1377)
Modified: openssl/trunk/crypto/pqueue/pqueue.c
===================================================================
--- openssl/trunk/crypto/pqueue/pqueue.c 2009-05-27 18:57:24 UTC (rev 380)
+++ openssl/trunk/crypto/pqueue/pqueue.c 2009-05-27 19:01:02 UTC (rev 381)
@@ -234,3 +234,17 @@
return ret;
}
+
+int
+pqueue_size(pqueue_s *pq)
+{
+ pitem *item = pq->items;
+ int count = 0;
+
+ while(item != NULL)
+ {
+ count++;
+ item = item->next;
+ }
+ return count;
+}
Modified: openssl/trunk/crypto/pqueue/pqueue.h
===================================================================
--- openssl/trunk/crypto/pqueue/pqueue.h 2009-05-27 18:57:24 UTC (rev 380)
+++ openssl/trunk/crypto/pqueue/pqueue.h 2009-05-27 19:01:02 UTC (rev 381)
@@ -91,5 +91,6 @@
pitem *pqueue_next(piterator *iter);
void pqueue_print(pqueue pq);
+int pqueue_size(pqueue pq);
#endif /* ! HEADER_PQUEUE_H */
Modified: openssl/trunk/debian/changelog
===================================================================
--- openssl/trunk/debian/changelog 2009-05-27 18:57:24 UTC (rev 380)
+++ openssl/trunk/debian/changelog 2009-05-27 19:01:02 UTC (rev 381)
@@ -2,6 +2,8 @@
* New upstream release
* Make aes-x86_64.pl use PIC.
+ * Fix security issues (Closes: #530400)
+ - "DTLS record buffer limitation bug." (CVE-2009-1377)
-- Kurt Roeckx <kurt at roeckx.be> Sat, 16 May 2009 17:33:55 +0200
Modified: openssl/trunk/ssl/d1_pkt.c
===================================================================
--- openssl/trunk/ssl/d1_pkt.c 2009-05-27 18:57:24 UTC (rev 380)
+++ openssl/trunk/ssl/d1_pkt.c 2009-05-27 19:01:02 UTC (rev 381)
@@ -167,6 +167,10 @@
DTLS1_RECORD_DATA *rdata;
pitem *item;
+ /* Limit the size of the queue to prevent DOS attacks */
+ if (pqueue_size(queue->q) >= 100)
+ return 0;
+
rdata = OPENSSL_malloc(sizeof(DTLS1_RECORD_DATA));
item = pitem_new(priority, rdata);
if (rdata == NULL || item == NULL)
More information about the Pkg-openssl-changes
mailing list