--- Begin Message ---
Package: cyrus-sasl2-mit
Severity: wishlist
Just uploaded...
-- System Information:
Debian Release: 3.1
APT prefers unstable
APT policy: (990, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.4.28-pre3-debian5+skas+lmsensors+3c59xvlan
Locale: LANG=pt_BR, LC_CTYPE=pt_BR
--
"One disk to rule them all, One disk to find them. One disk to bring
them all and in the darkness grind them. In the Land of Redmond
where the shadows lie." -- The Silicon Valley Tarot
Henrique Holschuh
diff -ruN cyrus-sasl2-mit-2.1.19-1/debian/changelog
cyrus-sasl2-mit-2.1.19/debian/changelog
--- cyrus-sasl2-mit-2.1.19-1/debian/changelog 2004-10-17 01:45:51.000000000
-0300
+++ cyrus-sasl2-mit-2.1.19/debian/changelog 2004-10-17 01:46:08.000000000
-0300
@@ -1,3 +1,25 @@
+cyrus-sasl2-mit (2.1.19-1.1) unstable; urgency=emergency
+
+ * NMU
+ * resync to cyrus-sasl2 2.1.19-1.5):
+ * SECURITY FIX: SASL_PATH environment variable must not be honoured on
+ setuid environments, otherwise we have a local privilege escalation
+ exploit (CVE: CAN-2004-0884), related advisories: RHSA-2004:546-02;
+ GLSA 200410-05 (closes: #276865)
+ * upstream CVS: lib/common.c: don't honor SASL_PATH in setuid
+ environment. from Gentoo (CVE CAN-2004-0884);
+ * Fix to upstream CVS security fix: initialize *path = NULL
+ * upstream CVS: plugins/kerberos4.c: document weirdness with openssl DES
+ * upstream CVS: plugins/cram.c,plugins/anonymous.c,plugins/login.c,
+ plugins/plain.c,plugins/sasldb.c: Fixed several 64 bit portability
+ warnings
+ * Forward port sasl_set_alloc locking patch from SASL 1.5, to avoid
+ problems with the braindead idea of globals SASL has, and with libraries
+ that think they can get around mucking with them (hello openldap!)
+ * Add Build-Conflicts: autoconf2.13, automake1.4
+
+ -- Henrique de Moraes Holschuh <[EMAIL PROTECTED]> Sun, 17 Oct 2004 00:43:17
-0300
+
cyrus-sasl2-mit (2.1.19-1) unstable; urgency=high
* Resync with cyrus-sasl2 2.1.19-1.1
diff -ruN cyrus-sasl2-mit-2.1.19-1/debian/control
cyrus-sasl2-mit-2.1.19/debian/control
--- cyrus-sasl2-mit-2.1.19-1/debian/control 2004-10-17 01:45:51.000000000
-0300
+++ cyrus-sasl2-mit-2.1.19/debian/control 2004-10-17 01:46:08.000000000
-0300
@@ -1,6 +1,6 @@
Source: cyrus-sasl2-mit
Build-Depends: autotools-dev, debhelper (>= 4), libpam0g-dev, zlib1g-dev,
libdb4.2-dev , libopie-dev (>= 2.32-8), chrpath, libkrb5-dev,
libmysqlclient10-dev (>= 3.23.52), libldap2-dev (>= 2.1.21), automake1.7 (>=
1.7.9), autoconf (>=2.57), dbs, groff-base, comerr-dev, libtool (>= 1.5.6),
automake1.7
-Build-conflicts: kerberos4kth-dev, libssl-dev
+Build-Conflicts: kerberos4kth-dev, libssl-dev, autoconf2.13, automake1.4
Section: devel
Priority: optional
Maintainer: Sam Hartman <[EMAIL PROTECTED]>
diff -ruN
cyrus-sasl2-mit-2.1.19-1/debian/patches/21_237x_1_sasl_upstream_cvs.diff
cyrus-sasl2-mit-2.1.19/debian/patches/21_237x_1_sasl_upstream_cvs.diff
--- cyrus-sasl2-mit-2.1.19-1/debian/patches/21_237x_1_sasl_upstream_cvs.diff
1969-12-31 21:00:00.000000000 -0300
+++ cyrus-sasl2-mit-2.1.19/debian/patches/21_237x_1_sasl_upstream_cvs.diff
2004-10-17 01:46:08.000000000 -0300
@@ -0,0 +1,51 @@
+---------------------
+PatchSet 2373
+Date: 2004/09/02 14:24:01
+Author: shadow
+Branch: HEAD
+Tag: (none)
+Log:
+simple explanation in the code of one possible error you might see in strange
+circumstances; i should probably make openssl's des unable to be used if
+mit krb5 is being used.
+
+Members:
+ plugins/kerberos4.c:1.97->1.98
+
+Index: cyrus-sasl-2.1.19/plugins/kerberos4.c
+===================================================================
+RCS file: /cvs/src/sasl/plugins/kerberos4.c,v
+retrieving revision 1.97
+retrieving revision 1.98
+diff -u -r1.97 -r1.98
+--- cyrus-sasl-2.1.19/plugins/kerberos4.c 6 Feb 2004 17:23:51 -0000
1.97
++++ cyrus-sasl-2.1.19/plugins/kerberos4.c 2 Sep 2004 15:24:01 -0000
1.98
+@@ -1,7 +1,7 @@
+ /* Kerberos4 SASL plugin
+ * Rob Siemborski
+ * Tim Martin
+- * $Id: kerberos4.c,v 1.97 2004/02/06 17:23:51 rjs3 Exp $
++ * $Id: kerberos4.c,v 1.98 2004/09/02 15:24:01 shadow Exp $
+ */
+ /*
+ * Copyright (c) 1998-2003 Carnegie Mellon University. All rights reserved.
+@@ -115,7 +115,7 @@
+
+ /***************************** Common Section *****************************/
+
+-static const char plugin_id[] = "$Id: kerberos4.c,v 1.97 2004/02/06 17:23:51
rjs3 Exp $";
++static const char plugin_id[] = "$Id: kerberos4.c,v 1.98 2004/09/02 15:24:01
shadow Exp $";
+
+ #ifndef KEYFILE
+ #define KEYFILE "/etc/srvtab";
+@@ -237,6 +237,10 @@
+ KRB_LOCK_MUTEX(text->utils);
+
+ if (text->sec_type == KRB_SEC_ENCRYPTION) {
++ /* Type incompatibility on 4th arg probably means you're
++ building against krb4 in MIT krb5, but got the OpenSSL
++ headers in your way. You need to not use openssl/des.h with
++ MIT kerberos. */
+ len=krb_mk_priv(inblob->data, (text->encode_buf+4),
+ inblob->curlen, text->init_keysched,
+ &text->session, &text->ip_local,
diff -ruN
cyrus-sasl2-mit-2.1.19-1/debian/patches/21_237x_2_sasl_upstream_cvs.diff
cyrus-sasl2-mit-2.1.19/debian/patches/21_237x_2_sasl_upstream_cvs.diff
--- cyrus-sasl2-mit-2.1.19-1/debian/patches/21_237x_2_sasl_upstream_cvs.diff
1969-12-31 21:00:00.000000000 -0300
+++ cyrus-sasl2-mit-2.1.19/debian/patches/21_237x_2_sasl_upstream_cvs.diff
2004-10-17 01:46:08.000000000 -0300
@@ -0,0 +1,312 @@
+---------------------
+PatchSet 2374
+Date: 2004/09/08 09:57:56
+Author: mel
+Branch: HEAD
+Tag: (none)
+Log:
+Fixed several 64 bit portability warnings
+
+Members:
+ plugins/cram.c:1.84->1.85
+
+Index: cyrus-sasl-2.1.19/plugins/cram.c
+===================================================================
+RCS file: /cvs/src/sasl/plugins/cram.c,v
+retrieving revision 1.84
+retrieving revision 1.85
+diff -u -r1.84 -r1.85
+--- cyrus-sasl-2.1.19/plugins/cram.c 6 Aug 2004 20:29:44 -0000 1.84
++++ cyrus-sasl-2.1.19/plugins/cram.c 8 Sep 2004 10:57:56 -0000 1.85
+@@ -1,7 +1,7 @@
+ /* CRAM-MD5 SASL plugin
+ * Rob Siemborski
+ * Tim Martin
+- * $Id: cram.c,v 1.84 2004/08/06 20:29:44 shadow Exp $
++ * $Id: cram.c,v 1.85 2004/09/08 10:57:56 mel Exp $
+ */
+ /*
+ * Copyright (c) 1998-2003 Carnegie Mellon University. All rights reserved.
+@@ -65,7 +65,7 @@
+
+ /***************************** Common Section *****************************/
+
+-static const char plugin_id[] = "$Id: cram.c,v 1.84 2004/08/06 20:29:44
shadow Exp $";
++static const char plugin_id[] = "$Id: cram.c,v 1.85 2004/09/08 10:57:56 mel
Exp $";
+
+ /* convert a string of 8bit chars to it's representation in hex
+ * using lowercase letters
+@@ -198,7 +198,7 @@
+ sparams->serverFQDN);
+
+ *serverout = text->challenge;
+- *serveroutlen = strlen(text->challenge);
++ *serveroutlen = (unsigned) strlen(text->challenge);
+
+ /* free stuff */
+ sparams->utils->free(time);
+@@ -221,7 +221,7 @@
+ char *userid = NULL;
+ sasl_secret_t *sec = NULL;
+ int pos;
+- unsigned len;
++ size_t len;
+ int result = SASL_FAIL;
+ const char *password_request[] = { SASL_AUX_PASSWORD,
+ "*cmusaslsecretCRAM-MD5",
+@@ -286,8 +286,8 @@
+ sec = sparams->utils->malloc(sizeof(sasl_secret_t) + len);
+ if (!sec) goto done;
+
+- sec->len = len;
+- strncpy(sec->data, auxprop_values[0].values[0], len + 1);
++ sec->len = (unsigned) len;
++ strncpy((char *)sec->data, auxprop_values[0].values[0], len + 1);
+
+ clear_md5state = 1;
+ /* Do precalculation on plaintext secret */
+@@ -317,7 +317,7 @@
+ sparams->utils->hmac_md5_import(&tmphmac, (HMAC_MD5_STATE *) &md5state);
+ sparams->utils->MD5Update(&(tmphmac.ictx),
+ (const unsigned char *) text->challenge,
+- strlen(text->challenge));
++ (unsigned) strlen(text->challenge));
+ sparams->utils->hmac_md5_final((unsigned char *) &digest, &tmphmac);
+
+ /* convert to base 16 with lower case letters */
+@@ -513,7 +513,7 @@
+ int auth_result = SASL_OK;
+ int pass_result = SASL_OK;
+ int result;
+- int maxsize;
++ size_t maxsize;
+ char *in16 = NULL;
+
+ *clientout = NULL;
+@@ -597,13 +597,13 @@
+
+ maxsize = 32+1+strlen(oparams->authid)+30;
+ result = _plug_buf_alloc(params->utils, &(text->out_buf),
+- &(text->out_buf_len), maxsize);
++ &(text->out_buf_len), (unsigned) maxsize);
+ if (result != SASL_OK) goto cleanup;
+
+ snprintf(text->out_buf, maxsize, "%s %s", oparams->authid, in16);
+
+ *clientout = text->out_buf;
+- *clientoutlen = strlen(*clientout);
++ *clientoutlen = (unsigned) strlen(*clientout);
+
+ /* set oparams */
+ oparams->doneflag = 1;
+---------------------
+PatchSet 2375
+Date: 2004/09/08 10:10:52
+Author: mel
+Branch: HEAD
+Tag: (none)
+Log:
+Fixed several 64 bit portability warnings
+
+Members:
+ plugins/anonymous.c:1.50->1.51
+ plugins/login.c:1.26->1.27
+ plugins/plain.c:1.63->1.64
+ plugins/sasldb.c:1.8->1.9
+
+Index: cyrus-sasl-2.1.19/plugins/anonymous.c
+===================================================================
+RCS file: /cvs/src/sasl/plugins/anonymous.c,v
+retrieving revision 1.50
+retrieving revision 1.51
+diff -u -r1.50 -r1.51
+--- cyrus-sasl-2.1.19/plugins/anonymous.c 13 Feb 2003 19:56:03 -0000
1.50
++++ cyrus-sasl-2.1.19/plugins/anonymous.c 8 Sep 2004 11:10:52 -0000
1.51
+@@ -1,7 +1,7 @@
+ /* Anonymous SASL plugin
+ * Rob Siemborski
+ * Tim Martin
+- * $Id: anonymous.c,v 1.50 2003/02/13 19:56:03 rjs3 Exp $
++ * $Id: anonymous.c,v 1.51 2004/09/08 11:10:52 mel Exp $
+ */
+ /*
+ * Copyright (c) 1998-2003 Carnegie Mellon University. All rights reserved.
+@@ -60,7 +60,7 @@
+
+ /***************************** Common Section *****************************/
+
+-static const char plugin_id[] = "$Id: anonymous.c,v 1.50 2003/02/13 19:56:03
rjs3 Exp $";
++static const char plugin_id[] = "$Id: anonymous.c,v 1.51 2004/09/08 11:10:52
mel Exp $";
+
+ static const char anonymous_id[] = "anonymous";
+
+@@ -233,7 +233,7 @@
+ sasl_out_params_t *oparams)
+ {
+ client_context_t *text = (client_context_t *) conn_context;
+- unsigned userlen;
++ size_t userlen;
+ char hostname[256];
+ const char *user = NULL;
+ int user_result = SASL_OK;
+@@ -308,7 +308,7 @@
+ gethostname(hostname, sizeof(hostname));
+ hostname[sizeof(hostname)-1] = '\0';
+
+- *clientoutlen = userlen + strlen(hostname) + 1;
++ *clientoutlen = (unsigned) (userlen + strlen(hostname) + 1);
+
+ result = _plug_buf_alloc(cparams->utils, &text->out_buf,
+ &text->out_buf_len, *clientoutlen);
+Index: cyrus-sasl-2.1.19/plugins/login.c
+===================================================================
+RCS file: /cvs/src/sasl/plugins/login.c,v
+retrieving revision 1.26
+retrieving revision 1.27
+diff -u -r1.26 -r1.27
+--- cyrus-sasl-2.1.19/plugins/login.c 25 Jul 2003 16:11:15 -0000 1.26
++++ cyrus-sasl-2.1.19/plugins/login.c 8 Sep 2004 11:09:10 -0000 1.27
+@@ -2,7 +2,7 @@
+ * Rob Siemborski (SASLv2 Conversion)
+ * contributed by Rainer Schoepf <[EMAIL PROTECTED]>
+ * based on PLAIN, by Tim Martin <[EMAIL PROTECTED]>
+- * $Id: login.c,v 1.26 2003/07/25 16:11:15 ken3 Exp $
++ * $Id: login.c,v 1.27 2004/09/08 11:09:10 mel Exp $
+ */
+ /*
+ * Copyright (c) 1998-2003 Carnegie Mellon University. All rights reserved.
+@@ -54,7 +54,7 @@
+
+ /***************************** Common Section *****************************/
+
+-static const char plugin_id[] = "$Id: login.c,v 1.26 2003/07/25 16:11:15 ken3
Exp $";
++static const char plugin_id[] = "$Id: login.c,v 1.27 2004/09/08 11:09:10 mel
Exp $";
+
+ /***************************** Server Section *****************************/
+
+@@ -62,7 +62,7 @@
+ int state;
+
+ char *username;
+- size_t username_len;
++ unsigned username_len;
+ } server_context_t;
+
+ static int login_server_mech_new(void *glob_context __attribute__((unused)),
+@@ -115,7 +115,7 @@
+ if (clientinlen == 0) {
+ /* demand username */
+
+- *serveroutlen = strlen(USERNAME_CHALLENGE);
++ *serveroutlen = (unsigned) strlen(USERNAME_CHALLENGE);
+ *serverout = USERNAME_CHALLENGE;
+
+ return SASL_CONTINUE;
+@@ -142,7 +142,7 @@
+ text->username[clientinlen] = '\0';
+
+ /* demand password */
+- *serveroutlen = strlen(PASSWORD_CHALLENGE);
++ *serveroutlen = (unsigned) strlen(PASSWORD_CHALLENGE);
+ *serverout = PASSWORD_CHALLENGE;
+
+ text->state = 3;
+Index: cyrus-sasl-2.1.19/plugins/plain.c
+===================================================================
+RCS file: /cvs/src/sasl/plugins/plain.c,v
+retrieving revision 1.63
+retrieving revision 1.64
+diff -u -r1.63 -r1.64
+--- cyrus-sasl-2.1.19/plugins/plain.c 14 Apr 2004 17:51:27 -0000 1.63
++++ cyrus-sasl-2.1.19/plugins/plain.c 8 Sep 2004 11:06:11 -0000 1.64
+@@ -1,7 +1,7 @@
+ /* Plain SASL plugin
+ * Rob Siemborski
+ * Tim Martin
+- * $Id: plain.c,v 1.63 2004/04/14 17:51:27 ken3 Exp $
++ * $Id: plain.c,v 1.64 2004/09/08 11:06:11 mel Exp $
+ */
+ /*
+ * Copyright (c) 1998-2003 Carnegie Mellon University. All rights reserved.
+@@ -57,7 +57,7 @@
+
+ /***************************** Common Section *****************************/
+
+-static const char plugin_id[] = "$Id: plain.c,v 1.63 2004/04/14 17:51:27 ken3
Exp $";
++static const char plugin_id[] = "$Id: plain.c,v 1.64 2004/09/08 11:06:11 mel
Exp $";
+
+ /***************************** Server Section *****************************/
+
+@@ -89,7 +89,7 @@
+ const char *author;
+ const char *authen;
+ const char *password;
+- size_t password_len;
++ unsigned password_len;
+ unsigned lup=0;
+ int result;
+ char *passcopy;
+@@ -124,7 +124,7 @@
+ password = clientin + lup;
+ while ((lup < clientinlen) && (clientin[lup] != 0)) ++lup;
+
+- password_len = clientin + lup - password;
++ password_len = (unsigned) (clientin + lup - password);
+
+ if (lup != clientinlen) {
+ SETERROR(params->utils,
+Index: cyrus-sasl-2.1.19/plugins/sasldb.c
+===================================================================
+RCS file: /cvs/src/sasl/plugins/sasldb.c,v
+retrieving revision 1.8
+retrieving revision 1.9
+diff -u -r1.8 -r1.9
+--- cyrus-sasl-2.1.19/plugins/sasldb.c 17 Jul 2003 19:04:22 -0000 1.8
++++ cyrus-sasl-2.1.19/plugins/sasldb.c 8 Sep 2004 11:12:33 -0000 1.9
+@@ -1,7 +1,7 @@
+ /* SASL server API implementation
+ * Rob Siemborski
+ * Tim Martin
+- * $Id: sasldb.c,v 1.8 2003/07/17 19:04:22 ken3 Exp $
++ * $Id: sasldb.c,v 1.9 2004/09/08 11:12:33 mel Exp $
+ */
+ /*
+ * Copyright (c) 1998-2003 Carnegie Mellon University. All rights reserved.
+@@ -119,7 +119,7 @@
+ }
+
+ sparams->utils->prop_set(sparams->propctx, cur->name,
+- value, value_len);
++ value, (unsigned) value_len);
+ }
+
+ done:
+---------------------
+PatchSet 2376
+Date: 2004/09/10 13:07:08
+Author: mel
+Branch: HEAD
+Tag: (none)
+Log:
+Fixed several 64 bit portability warnings
+
+Members:
+ ChangeLog:1.689->1.690
+
+Index: cyrus-sasl-2.1.19/ChangeLog
+===================================================================
+RCS file: /cvs/src/sasl/ChangeLog,v
+retrieving revision 1.689
+retrieving revision 1.690
+diff -u -r1.689 -r1.690
+--- cyrus-sasl-2.1.19/ChangeLog 29 Jul 2004 19:21:56 -0000 1.689
++++ cyrus-sasl-2.1.19/ChangeLog 10 Sep 2004 14:07:08 -0000 1.690
+@@ -1,3 +1,8 @@
++2004-09-08 Alexey Melnikov <[EMAIL PROTECTED]>
++ * plugins/cram.c, plugins/anonymous.c, plugins/login.c,
++ plugins/plain.c, plugins/sasldb.c: Fixed several 64 bit
++ portability warnings
++
+ 2004-07-29 Rob Siemborski <[EMAIL PROTECTED]>
+ * plugins/digestmd5.c: Fix handling of client realm callback
+ (Alexey Melnikov <[EMAIL PROTECTED]>)
diff -ruN
cyrus-sasl2-mit-2.1.19-1/debian/patches/21_237x_3_sasl_upstream_cvs.diff
cyrus-sasl2-mit-2.1.19/debian/patches/21_237x_3_sasl_upstream_cvs.diff
--- cyrus-sasl2-mit-2.1.19-1/debian/patches/21_237x_3_sasl_upstream_cvs.diff
1969-12-31 21:00:00.000000000 -0300
+++ cyrus-sasl2-mit-2.1.19/debian/patches/21_237x_3_sasl_upstream_cvs.diff
2004-10-17 01:46:08.000000000 -0300
@@ -0,0 +1,41 @@
+---------------------
+PatchSet 2377
+Date: 2004/09/22 20:35:34
+Author: shadow
+Branch: HEAD
+Tag: (none)
+Log:
+don't honor SASL_PATH in setuid environment. from Gentoo.
+
+Members:
+ lib/common.c:1.103->1.104
+
+Index: cyrus-sasl-2.1.19/lib/common.c
+===================================================================
+RCS file: /cvs/src/sasl/lib/common.c,v
+retrieving revision 1.103
+retrieving revision 1.104
+diff -u -r1.103 -r1.104
+--- cyrus-sasl-2.1.19/lib/common.c 6 Jul 2004 16:03:05 -0000 1.103
++++ cyrus-sasl-2.1.19/lib/common.c 22 Sep 2004 21:35:34 -0000 1.104
+@@ -1,7 +1,7 @@
+ /* common.c - Functions that are common to server and clinet
+ * Rob Siemborski
+ * Tim Martin
+- * $Id: common.c,v 1.103 2004/07/06 16:03:05 rjs3 Exp $
++ * $Id: common.c,v 1.104 2004/09/22 21:35:34 shadow Exp $
+ */
+ /*
+ * Copyright (c) 1998-2003 Carnegie Mellon University. All rights reserved.
+@@ -1838,7 +1838,10 @@
+ if (! path)
+ return SASL_BADPARAM;
+
+- *path = getenv(SASL_PATH_ENV_VAR);
++ /* Honor external variable only in a safe environment */
++ if (getuid() == geteuid() && getgid() == getegid())
++ *path = getenv(SASL_PATH_ENV_VAR);
++
+ if (! *path)
+ *path = PLUGINDIR;
+
diff -ruN
cyrus-sasl2-mit-2.1.19-1/debian/patches/22_237x_3_sasl_upstream_cvs-FIX.diff
cyrus-sasl2-mit-2.1.19/debian/patches/22_237x_3_sasl_upstream_cvs-FIX.diff
---
cyrus-sasl2-mit-2.1.19-1/debian/patches/22_237x_3_sasl_upstream_cvs-FIX.diff
1969-12-31 21:00:00.000000000 -0300
+++ cyrus-sasl2-mit-2.1.19/debian/patches/22_237x_3_sasl_upstream_cvs-FIX.diff
2004-10-17 01:46:08.000000000 -0300
@@ -0,0 +1,11 @@
+diff -ruN cyrus-sasl-2.1.19.orig/lib/common.c cyrus-sasl-2.1.19/lib/common.c
+--- cyrus-sasl-2.1.19.orig/lib/common.c 2004-10-16 17:48:04.000000000
-0300
++++ cyrus-sasl-2.1.19/lib/common.c 2004-10-16 17:48:56.000000000 -0300
+@@ -1846,6 +1846,7 @@
+ if (! path)
+ return SASL_BADPARAM;
+
++ *path = NULL;
+ /* Honor external variable only in a safe environment */
+ if (getuid() == geteuid() && getgid() == getegid())
+ *path = getenv(SASL_PATH_ENV_VAR);
--- End Message ---