Icecast HTTP Header Processing Remote Overflow - Nessus

High   Plugin ID: 14843

This page contains detailed information about the Icecast HTTP Header Processing Remote Overflow Nessus plugin including available exploits and PoCs found on GitHub, in Metasploit or Exploit-DB for verifying of this vulnerability.

Plugin Overview


ID: 14843
Name: Icecast HTTP Header Processing Remote Overflow
Filename: icecast_http_header_overflow.nasl
Vulnerability Published: 2004-09-28
This Plugin Published: 2004-09-28
Last Modification Time: 2018-11-15
Plugin Version: 1.24
Plugin Type: remote
Plugin Family: Web Servers
Dependencies: http_version.nasl

Vulnerability Information


Severity: High
Vulnerability Published: 2004-09-28
Patch Published: N/A
CVE [?]: CVE-2004-1561
CPE [?]: N/A

Synopsis

The remote web server is prone to a buffer overflow attack.

Description

The remote web server runs Icecast version 2.0.1 or older. Such versions are affected by an HTTP header buffer overflow vulnerability that may allow an attacker to execute arbitrary code on the remote host with the privileges of the Icecast server process.

To exploit this flaw, an attacker needs to send 32 HTTP headers to the remote host to overwrite a return address on the stack.

Solution

Upgrade to Icecast 2.0.2 or later.

Public Exploits


Target Network Port(s): 8000
Target Asset(s): Services/www
Exploit Available: True (Metasploit Framework, Exploit-DB, GitHub, Immunity Canvas)
Exploit Ease: Exploits are available

Here's the list of publicly known exploits and PoCs for verifying the Icecast HTTP Header Processing Remote Overflow vulnerability:

  1. Metasploit: exploit/windows/http/icecast_header
    [Icecast Header Overwrite]
  2. Exploit-DB: exploits/windows_x86/remote/16763.rb
    [EDB-16763: Icecast 2.0.1 (Windows x86) - Header Overwrite (Metasploit)]
  3. GitHub: https://github.com/AfvanMoopen/tryhackme-
    [CVE-2004-1561]
  4. GitHub: https://github.com/Nathan-Bash/CVE-2004-1561-Notes
    [CVE-2004-1561: My notes for CVE-2004-1561 IceCast exploitation]
  5. GitHub: https://github.com/catsecorg/CatSec-TryHackMe-WriteUps
    [CVE-2004-1561]
  6. GitHub: https://github.com/thel1nus/SweetRice-RCE-notes
    [CVE-2004-1561]
  7. GitHub: https://github.com/darrynb89/CVE-2004-1561
    [CVE-2004-1561: Python version of Metasploit exploit for CVE-2004-1561]
  8. GitHub: https://github.com/ivanitlearning/CVE-2004-1561
    [CVE-2004-1561: Icecast Header Overwrite buffer overflow RCE < 2.0.1 (Win32)]
  9. GitHub: https://github.com/thel1nus/CVE-2004-1561-Notes
    [CVE-2004-1561: My notes for CVE-2004-1561 IceCast exploitation]
  10. Immunity Canvas: CANVAS

Before running any exploit against any system, make sure you are authorized by the owner of the target system(s) to perform such activity. In any other case, this would be considered as an illegal activity.

WARNING: Beware of using unverified exploits from sources such as GitHub or Exploit-DB. These exploits and PoCs could contain malware. For more information, see how to use exploits safely.

Risk Information


CVSS V2 Vector [?]: AV:N/AC:L/Au:N/C:P/I:P/A:P/E:F/RL:OF/RC:C
CVSS Base Score:7.5 (High)
Impact Subscore:6.4
Exploitability Subscore:10.0
CVSS Temporal Score:6.2 (Medium)
CVSS Environmental Score:NA (None)
Modified Impact Subscore:NA
Overall CVSS Score:6.2 (Medium)

Go back to menu.

Plugin Source


This is the icecast_http_header_overflow.nasl nessus plugin source code. This script is Copyright (C) 2004-2018 Tenable Network Security, Inc.

#
# (C) Tenable Network Security, Inc.
#

include("compat.inc");

if (description)
{
 script_id(14843);
 script_version ("1.24");
 script_cvs_date("Date: 2018/11/15 20:50:25");

 script_cve_id("CVE-2004-1561");
 script_bugtraq_id(11271);
 script_xref(name:"Secunia", value:"12666");
 
 script_name(english:"Icecast HTTP Header Processing Remote Overflow");
 script_summary(english:"Checks Icecast version");
 
 script_set_attribute(attribute:"synopsis", value:
"The remote web server is prone to a buffer overflow attack." );
 script_set_attribute(attribute:"description", value:
"The remote web server runs Icecast version 2.0.1 or older.  Such
versions are affected by an HTTP header buffer overflow vulnerability
that may allow an attacker to execute arbitrary code on the remote
host with the privileges of the Icecast server process. 

To exploit this flaw, an attacker needs to send 32 HTTP headers to the
remote host to overwrite a return address on the stack." );
 script_set_attribute(attribute:"see_also", value:"http://aluigi.altervista.org/adv/iceexec-adv.txt" );
 script_set_attribute(attribute:"see_also", value:"https://seclists.org/bugtraq/2004/Sep/396" );
 script_set_attribute(attribute:"see_also", value:"http://lists.xiph.org/pipermail/icecast/2004-September/007614.html" );
 script_set_attribute(attribute:"solution", value:
"Upgrade to Icecast 2.0.2 or later." );
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
  script_set_cvss_temporal_vector("CVSS2#E:F/RL:OF/RC:C");
  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");
  script_set_attribute(attribute:"metasploit_name", value:'Icecast Header Overwrite');
  script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
script_set_attribute(attribute:"exploit_framework_canvas", value:"true");
 script_set_attribute(attribute:"canvas_package", value:'CANVAS');
 script_set_attribute(attribute:"plugin_publication_date", value: "2004/09/28");
 script_set_attribute(attribute:"vuln_publication_date", value: "2004/09/28");
 script_set_attribute(attribute:"plugin_type", value:"remote");
 script_end_attributes();
 
 script_category(ACT_MIXED_ATTACK);

 script_copyright(english:"This script is Copyright (C) 2004-2018 Tenable Network Security, Inc.");
		
 script_family(english:"Web Servers");
 script_dependencie("http_version.nasl");
 script_require_ports("Services/www", 8000);
 exit(0);
}

#
# The script code starts here
#

include("global_settings.inc");
include("misc_func.inc");
include("http.inc");

port = get_http_port(default:8000);

banner = get_http_banner(port:port);
if (report_paranoia < 2)
{
  if (!banner || "server: icecast/" >!< tolower(banner)) exit(0);
}

if ( safe_checks() )
{
  if ( ! banner ) exit(0);
  if(egrep(pattern:"^Server: icecast/2\.0\.[0-1][^0-9]", string:banner, icase:TRUE))
      security_hole(port);
}
else
{
  if (http_is_dead(port:port)) exit(1, "The web server on port "+port+" is dead");
  h = make_array();
  for (i = 0; i < 31; i ++) h["Header"+i] = "fooBar";
  w = http_send_recv3(method: "GET", item:"/", port: port, add_headers: h);
  if (http_is_dead(port:port)) security_hole(port);
}

The latest version of this script can be found in these locations depending on your platform:

  • Linux / Unix:
    /opt/nessus/lib/nessus/plugins/icecast_http_header_overflow.nasl
  • Windows:
    C:\ProgramData\Tenable\Nessus\nessus\plugins\icecast_http_header_overflow.nasl
  • Mac OS X:
    /Library/Nessus/run/lib/nessus/plugins/icecast_http_header_overflow.nasl

Go back to menu.

How to Run


Here is how to run the Icecast HTTP Header Processing Remote Overflow as a standalone plugin via the Nessus web user interface (https://localhost:8834/):

  1. Click to start a New Scan.
  2. Select Advanced Scan.
  3. Navigate to the Plugins tab.
  4. On the top right corner click to Disable All plugins.
  5. On the left side table select Web Servers plugin family.
  6. On the right side table select Icecast HTTP Header Processing Remote Overflow plugin ID 14843.
  7. Specify the target on the Settings tab and click to Save the scan.
  8. Run the scan.

Here are a few examples of how to run the plugin in the command line. Note that the examples below demonstrate the usage on the Linux / Unix platform.

Basic usage:

/opt/nessus/bin/nasl icecast_http_header_overflow.nasl -t <IP/HOST>

Run the plugin with audit trail message on the console:

/opt/nessus/bin/nasl -a icecast_http_header_overflow.nasl -t <IP/HOST>

Run the plugin with trace script execution written to the console (useful for debugging):

/opt/nessus/bin/nasl -T - icecast_http_header_overflow.nasl -t <IP/HOST>

Run the plugin with using a state file for the target and updating it (useful for running multiple plugins on the target):

/opt/nessus/bin/nasl -K /tmp/state icecast_http_header_overflow.nasl -t <IP/HOST>

Go back to menu.

References


BID | SecurityFocus Bugtraq ID: Secunia Advisory: See also: Similar and related Nessus plugins:
  • 31654 - Apache < 1.3.37 mod_rewrite LDAP Protocol URL Handling Overflow
  • 31655 - Apache < 2.0.59 mod_rewrite LDAP Protocol URL Handling Overflow
  • 31659 - Apache < 2.2.3 mod_rewrite LDAP Protocol URL Handling Overflow
  • 11030 - Apache Chunked Encoding Remote Overflow
  • 14771 - Apache <= 1.3.33 htpasswd Local Overflow
  • 10918 - Apache-SSL < 1.3.23+1.46 i2d_SSL_SESSION Function SSL Client Certificate Overflow
  • 17241 - BadBlue ext.dll mfcisapicommand Parameter Remote Overflow
  • 15774 - CCProxy Logging Compoent HTTP GET Request Remote Overflow
  • 22494 - ePolicy Orchestrator HTTP /spipe/pkg/ Source Header Remote Overflow
  • 11923 - Microsoft FrontPage Server Extensions (fp30reg.dll) Debug Function Remote Overflow (MS03-051 / 813360)
  • 144291 - IBM HTTP Server 7.0.0.0 < 7.0.0.33 / 8.0.0.0 < 8.0.0.9 / 8.5.0.0 < 8.5.5.2 Buffer Overflow (244199)
  • 25149 - IBM Tivoli Provisioning Manager OS Deployment Multiple Stack Overflows
  • 10657 - MS01-023: Microsoft IIS 5.0 Malformed HTTP Printer Request Header Remote Buffer Overflow (953155) (uncredentialed check)
  • 10116 - Microsoft IIS ISM.DLL HTR Request Remote Overflow
  • 11028 - Microsoft IIS .HTR Filter Multiple Overflows (MS02-028)
  • 11412 - Microsoft IIS WebDAV ntdll.dll Remote Overflow (MS03-007)
  • 11068 - iPlanet Chunked Encoding Processing Remote Overflow
  • 26057 - lighttpd mod_fastcgi HTTP Request Header Remote Overflow
  • 18424 - MiniShare Webserver HTTP GET Request Remote Overflow
  • 31786 - Apache mod_jk2 Host Header Multiple Fields Remote Overflow
  • 11809 - mod_mylo for Apache mylo_log Logging Function HTTP GET Overflow
  • 10888 - Apache mod_ssl i2d_SSL_SESSION Function SSL Client Certificate Overflow
  • 11161 - Microsoft Data Access Components RDS Data Stub Remote Overflow
  • 105359 - nginx < 1.13.3 Integer Overflow Vulnerability
  • 73519 - nginx < 1.4.7 / 1.5.12 SPDY Heap Buffer Overflow
  • 11664 - Microsoft Media Services ISAPI nsiislog.dll Multiple Overflows
  • 11183 - Null httpd Content-Length Header Handling Remote Overflow
  • 132726 - OpenSSL 1.0.2 < 1.0.2u Procedure Overflow Vulnerability
  • 132725 - OpenSSL 1.1.1 < 1.1.1e-dev Procedure Overflow Vulnerability
  • 54924 - IBM Tivoli Management Framework Endpoint addr URL Remote Buffer Overflow
  • 34781 - Oracle WebLogic Server mod_wl Invalid Parameter Remote Overflow (1150354)
  • 33932 - Oracle WebLogic Server mod_wl POST Request Remote Overflow
  • 35374 - Oracle WebLogic Server Plug-in Remote Overflow (1166189)
  • 10320 - Web Server Long URL Handling Remote Overflow DoS

Version


This page has been produced using Nessus Professional 10.1.2 (#68) LINUX, Plugin set 202205072148.
Plugin file icecast_http_header_overflow.nasl version 1.24. For more plugins, visit the Nessus Plugin Library.

Go back to menu.