The attached patch will fix this problem. Regards,
Joey -- Unix is user friendly ... It's just picky about its friends. Please always Cc to me when replying to me on the lists.
diff -u mailman-2.0.11/Mailman/Cgi/private.py mailman-2.0.11/Mailman/Cgi/private.py --- mailman-2.0.11/Mailman/Cgi/private.py +++ mailman-2.0.11/Mailman/Cgi/private.py @@ -79,8 +79,11 @@ def true_path(path): "Ensure that the path is safe by removing .." - parts = [x for x in path.split(SLASH) if x not in ('.', '..')] - return SLASH.join(parts)[1:] + parts = [] + for x in string.split(path, SLASH): + if x not in ['.', '..']: + parts.append(x) + return string.join(parts, SLASH)[1:] def content_type(path): diff -u mailman-2.0.11/debian/changelog mailman-2.0.11/debian/changelog --- mailman-2.0.11/debian/changelog +++ mailman-2.0.11/debian/changelog @@ -1,7 +1,17 @@ +mailman (2.0.11-1woody11) stable-security; urgency=high + + * Non-maintainer upload by the Security Team + * Rewrote patch to fix directory traversal (CAN-2005-0202) so it will + work with Python 1.5 as well since that's the lowest requirement for + mailman in Debian/stable and since Python 1.5.2 doesn't do list + comprehensions [Mailman/Cgi/private.py] + + -- Martin Schulze <[EMAIL PROTECTED]> Fri, 18 Feb 2005 12:57:31 +0100 + mailman (2.0.11-1woody10) stable-security; urgency=high * Non-maintainer upload by the Security Team