Your message dated Thu, 10 Jul 2008 19:52:23 +0000
with message-id <[EMAIL PROTECTED]>
and subject line Bug#459961: fixed in mt-daapd 0.2.4+r1376-1.1+etch1
has caused the Debian Bug report #459961,
regarding mt-daapd: CVE-2007-582[4,5] multiple security vulnerabilities
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [EMAIL PROTECTED]
immediately.)


-- 
459961: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=459961
Debian Bug Tracking System
Contact [EMAIL PROTECTED] with problems
--- Begin Message ---
Package: mt-daapd
Severity: grave
Tags: security patch

Hi,
the following CVE (Common Vulnerabilities & Exposures) id was
published for mt-daapd.

CVE-2007-5824[0]:
| webserver.c in mt-dappd in Firefly Media Server 0.2.4 and earlier
| allows remote attackers to cause a denial of service (NULL dereference
| and daemon crash) via a stats method action to /xml-rpc with (1) an
| empty Authorization header line, which triggers a crash in the
| ws_decodepassword function; or (2) a header line without a ':'
| character, which triggers a crash in the ws_getheaders function.

If you fix this vulnerability please also include the CVE id
in your changelog entry.

A patch extracted from upstream CVS is attached.

For further information:
[0] http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-5824

Kind regards
Nico

-- 
Nico Golde - http://www.ngolde.de - [EMAIL PROTECTED] - GPG: 0x73647CFF
For security reasons, all text in this mail is double-rot13 encrypted.
#! /bin/sh /usr/share/dpatch/dpatch-run
## CVE-2007-5825-2007-5825.dpatch by Nico Golde <[EMAIL PROTECTED]>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.

@DPATCH@
diff -urNad mt-daapd-0.9~r1586~/src/webserver.c 
mt-daapd-0.9~r1586/src/webserver.c
--- mt-daapd-0.9~r1586~/src/webserver.c 2007-05-17 06:26:33.000000000 +0200
+++ mt-daapd-0.9~r1586/src/webserver.c  2008-01-09 22:19:22.000000000 +0100
@@ -758,7 +758,7 @@
             free(value);
         }
 
-        if(!last) {
+        if(last == first) {
             DPRINTF(E_DBG,L_WS,"Thread %d: Done parsing GET/POST args!\n",
                     pwsc->threadno);
             done=1;
@@ -961,12 +961,11 @@
             if((auth_handler) && (auth_handler(pwsc,NULL,NULL)==0)) {
                 /* do the auth thing */
                 auth=ws_getarg(&pwsc->request_headers,"Authorization");
-                if(auth) {
-                    ws_decodepassword(auth,&username,&password);
+                if((auth) && (ws_decodepassword(auth,&username, &password))) {
                     if(auth_handler(pwsc,username,password))
                         can_dispatch=1;
-                    ws_addarg(&pwsc->request_vars,"HTTP_USER",username);
-                    ws_addarg(&pwsc->request_vars,"HTTP_PASSWD",password);
+                    ws_addarg(&pwsc->request_vars,"HTTP_USER","%s", username);
+                    ws_addarg(&pwsc->request_vars,"HTTP_PASSWD", "%s", 
password);
                     free(username); /* this frees password too */
                 }
 
@@ -1430,6 +1429,7 @@
     int pads=0;
     unsigned char *decodebuffer;
     unsigned char *pin, *pout;
+    char *type,*base64;
     int lookup;
 
     *username=NULL;
@@ -1458,21 +1458,34 @@
         return -1;
 
     /* xlat table is initialized */
-    while(*header != ' ')
+    // Trim leading spaces
+    while((*header) && (*header == ' '))
         header++;
 
-    header++;
+    // Should be in the form "Basic <base-64 enc username/pw>"
+    type=header;
+    base64 = strchr(header,' ');
+    if(!base64) {
+        // invalid auth header 
+        ws_dprintf(L_WS_DBG,"Bad authentication header: %s\n",header);
+        WS_EXIT();
+        return FALSE;
+    }
+
+    *base64 = '\0';
+    base64++;
+
+    decodebuffer=(unsigned char *)malloc(strlen(base64));
 
-    decodebuffer=(unsigned char *)malloc(strlen(header));
     if(!decodebuffer)
         return -1;
 
-    DPRINTF(E_DBG,L_WS,"Preparing to decode %s\n",header);
+    DPRINTF(E_DBG,L_WS,"Preparing to decode %s\n",base64);
 
-    memset(decodebuffer,0,strlen(header));
+    memset(decodebuffer,0,strlen(base64));
     len=0;
     pout=decodebuffer;
-    pin=(unsigned char *)header;
+    pin=(unsigned char *)base64;
 
     /* this is more than a little sloppy */
     while(pin[rack]) {

Attachment: pgpJjEiBrZZZ2.pgp
Description: PGP signature


--- End Message ---
--- Begin Message ---
Source: mt-daapd
Source-Version: 0.2.4+r1376-1.1+etch1

We believe that the bug you reported is fixed in the latest version of
mt-daapd, which is due to be installed in the Debian FTP archive:

mt-daapd_0.2.4+r1376-1.1+etch1.diff.gz
  to pool/main/m/mt-daapd/mt-daapd_0.2.4+r1376-1.1+etch1.diff.gz
mt-daapd_0.2.4+r1376-1.1+etch1.dsc
  to pool/main/m/mt-daapd/mt-daapd_0.2.4+r1376-1.1+etch1.dsc
mt-daapd_0.2.4+r1376-1.1+etch1_amd64.deb
  to pool/main/m/mt-daapd/mt-daapd_0.2.4+r1376-1.1+etch1_amd64.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Devin Carraway <[EMAIL PROTECTED]> (supplier of updated mt-daapd package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Mon,  9 Jun 2008 06:36:18 +0000
Source: mt-daapd
Binary: mt-daapd
Architecture: source amd64
Version: 0.2.4+r1376-1.1+etch1
Distribution: stable-security
Urgency: high
Maintainer: Joshua Kwan <[EMAIL PROTECTED]>
Changed-By: Devin Carraway <[EMAIL PROTECTED]>
Description: 
 mt-daapd   - iTunes-compatible DAAP server
Closes: 459961 476241
Changes: 
 mt-daapd (0.2.4+r1376-1.1+etch1) stable-security; urgency=high
 .
   * Non-maintainer upload by the security team
   * Apply backport of upstream fixes for two related
     vulnerabilities (Closes: #459961):
     + CVE-2007-5824: Remote denial-of-service through a null pointer
       dereference in src/webserver.c's authorization header handling
     + CVE-2007-5825: Remote arbitrary code execution through a format
       string vulnerability in authorization header of an /xml-rpc request
   * Apply fix from Nico Golde <[EMAIL PROTECTED]> for CVE-2008-1771, an
     integer overflow vulnerability also in src/webserver.c, potentilly
     enabling execution of arbitrary code (Closes: #476241)
Files: 
 a303c40811df75fd395c28485d038ceb 765 sound optional 
mt-daapd_0.2.4+r1376-1.1+etch1.dsc
 c427c26e93914290b7cd615835ea333a 995301 sound optional 
mt-daapd_0.2.4+r1376.orig.tar.gz
 a565dacb5773182a44b367b6c78a0da8 8929 sound optional 
mt-daapd_0.2.4+r1376-1.1+etch1.diff.gz
 9297976354240c5a75b2c3636fe0746d 610844 sound optional 
mt-daapd_0.2.4+r1376-1.1+etch1_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iD8DBQFITOyZU5XKDemr/NIRAjnwAKDPSxgW//tr2N7GewWAvyUIHWYS3QCeNlN2
A3JUS/iPA+M/yIpWDPGPlBc=
=bwia
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to