[Pkg-openldap-devel] r1172 - in openldap/trunk/debian: . patches
vorlon at alioth.debian.org
vorlon at alioth.debian.org
Fri Jul 11 08:41:09 UTC 2008
tags 488710 pending
thanks
Author: vorlon
Date: 2008-07-11 08:41:08 +0000 (Fri, 11 Jul 2008)
New Revision: 1172
Added:
openldap/trunk/debian/patches/CVE-2008-2952_BER-decoding-assertion
Modified:
openldap/trunk/debian/changelog
openldap/trunk/debian/patches/series
Log:
New patch, CVE-2008-2952_BER-decoding-assertion, to fix a remote DoS
vulnerability in the BER decoder. Addresses CVE-2008-2952,
closes: #488710.
Modified: openldap/trunk/debian/changelog
===================================================================
--- openldap/trunk/debian/changelog 2008-07-07 07:10:15 UTC (rev 1171)
+++ openldap/trunk/debian/changelog 2008-07-11 08:41:08 UTC (rev 1172)
@@ -1,3 +1,11 @@
+openldap (2.4.10-3) UNRELEASED; urgency=low
+
+ * New patch, CVE-2008-2952_BER-decoding-assertion, to fix a remote DoS
+ vulnerability in the BER decoder. Addresses CVE-2008-2952,
+ closes: #488710.
+
+ -- Steve Langasek <vorlon at debian.org> Mon, 07 Jul 2008 00:10:16 -0700
+
openldap (2.4.10-2) unstable; urgency=low
* Support DEB_BUILD_OPTIONS=nocheck to disable running the test suite at
Added: openldap/trunk/debian/patches/CVE-2008-2952_BER-decoding-assertion
===================================================================
--- openldap/trunk/debian/patches/CVE-2008-2952_BER-decoding-assertion (rev 0)
+++ openldap/trunk/debian/patches/CVE-2008-2952_BER-decoding-assertion 2008-07-11 08:41:08 UTC (rev 1172)
@@ -0,0 +1,42 @@
+Patch from upstream CVS
+
+Remote, unauthenticated attackers can cause a denial of service by
+triggering an assertion in the ASN.1 BER decoder. Fix this.
+
+Addresses ITS#5580 / CVE-2008-2952 / Debian bug #488710.
+
+Index: libraries/liblber/io.c
+===================================================================
+--- libraries/liblber/io.c.orig
++++ libraries/liblber/io.c
+@@ -522,14 +522,18 @@
+ }
+
+ while (ber->ber_rwptr > (char *)&ber->ber_tag && ber->ber_rwptr <
+- (char *)&ber->ber_len + LENSIZE*2 -1) {
++ (char *)&ber->ber_len + LENSIZE*2) {
+ ber_slen_t sblen;
+ char buf[sizeof(ber->ber_len)-1];
+ ber_len_t tlen = 0;
+
++ /* The tag & len can be at most 9 bytes; we try to read up to 8 here */
+ sock_errset(0);
+- sblen=ber_int_sb_read( sb, ber->ber_rwptr,
+- ((char *)&ber->ber_len + LENSIZE*2 - 1)-ber->ber_rwptr);
++ sblen=((char *)&ber->ber_len + LENSIZE*2 - 1)-ber->ber_rwptr;
++ /* Trying to read the last len byte of a 9 byte tag+len */
++ if (sblen<1)
++ sblen = 1;
++ sblen=ber_int_sb_read( sb, ber->ber_rwptr, sblen );
+ if (sblen<=0) return LBER_DEFAULT;
+ ber->ber_rwptr += sblen;
+
+@@ -579,7 +583,7 @@
+ int i;
+ unsigned char *p = (unsigned char *)ber->ber_ptr;
+ int llen = *p++ & 0x7f;
+- if (llen > (int)sizeof(ber_len_t)) {
++ if (llen > LENSIZE) {
+ sock_errset(ERANGE);
+ return LBER_DEFAULT;
+ }
Modified: openldap/trunk/debian/patches/series
===================================================================
--- openldap/trunk/debian/patches/series 2008-07-07 07:10:15 UTC (rev 1171)
+++ openldap/trunk/debian/patches/series 2008-07-11 08:41:08 UTC (rev 1172)
@@ -10,3 +10,4 @@
gnutls-ciphers
getaddrinfo-is-threadsafe
no_backend_inter-linking -p0
+CVE-2008-2952_BER-decoding-assertion -p0
More information about the Pkg-openldap-devel
mailing list