See how icecast compares to other vendors in security performance
This is an interesting new attack on some TLS configurations: https://opossum-attack.com/
It exposes the fact that some protocols support an opportunistic TLS variant that has a slightly different underlying protocol than the implicit TLS variant.
The practical impact this has on servers supporting opportunistic HTTP (RFC 2817) is that a man-in-the-middle attacker can serve a different file from a server to an HTTPS request. It may impact other protocols that support STARTTLS, but one would have to find an exploitable protocol difference.
For any software implementing Opportunistic HTTP / RFC 2817, particularly on the server side, it is advisable to completely remove that support to prevent this attack.
Opportunistic HTTP / RFC 2817 is not widely used or supported. It can be enabled in Apache httpd, according to the Opossum web page, Apache plans deprecation of that feature (CVE-2025-49812). The web page also mentions Icecast and CUPS as "Patch in progress", and Cyrus IMAPD disabled STARTTLS by default in response to this research.
This shows again that "upgrading" an unencrypted connection to TLS can be the cause of surprising security issues. (I've been involved in some research a few years ago showing security issues in STARTTLS for e-mail, which is a closely related issue: https://nostarttls.secvuln.info/ )
-- Hanno Böck - Independent security researcher https://itsec.hboeck.de/ https://badkeys.info/
Icecast before 2.4.1 transmits the output of the on-connect script, which might allow remote attackers to obtain sensitive information, related to shared file descriptors.
Icecast before 2.4.0 does not change the supplementary group privileges when <changeowner> is configured, which allows local users to gain privileges via unspecified vectors.
Multiple buffer overflows in the XSL parser for IceCast 2.20 may allow attackers to cause a denial of service and possibly execute arbitrary code via (1) a long test value in an xsl:when tag, (2) a long test value in an xsl:if tag, or (3) a long select value in an xsl:value-of tag.
IceCast 2.20 allows remote attackers to bypass the XSL parser and obtain the source for XSL files via a request for a .xsl file with a trailing . (dot).
Buffer overflow in Icecast 2.0.1 and earlier allows remote attackers to execute arbitrary code via an HTTP request with a large number of headers.
Cross-site scripting (XSS) vulnerability in list.cgi in the Icecast internal web server (icecast-server) 1.3.12 and earlier allows remote attackers to inject arbitrary web script via the UserAgent parameter.
Buffer overflow in Icecast 2.0.0 and earlier allows remote attackers to cause a denial of service (crash) via a long Basic Authorization header that triggers an out-of-bounds read.
Directory traversal vulnerability in the listdirectory function in Icecast 1.3.12 allows remote attackers to determine if a directory exists via a .. (dot dot) in the GET request, which returns different error messages depending on whether the directory exists or not.
Buffer overflows in icecast 1.3.11 and earlier allows remote attackers to execute arbitrary code via a long HTTP GET request from an MP3 client.
Directory traversal vulnerability in Icecast 1.3.10 and earlier allows remote attackers to read arbitrary files via a modified .. (dot dot) attack using encoded URL characters.
Icecast 1.3.7, and other versions before 1.3.11 with HTTP server file streaming support enabled allows remote attackers to cause a denial of service (crash) via a URL that ends in . (dot), / (forward slash), or \ (backward slash).
Format string vulnerability in printclient in icecast 1.3.8beta2 and earlier allows remote attackers to execute arbitrary commands.
Buffer overflows in Icecast before 1.3.10 allow remote attackers to cause a denial of service (crash) and execute arbitrary code.
Buffer overflows in (1) Icecast before 1.3.9 and (2) libshout before 1.0.4 allow remote attackers to cause a denial of service (crash) and execute arbitrary code.