Vulnerabilities > CVE-2001-0325 - Buffer Overflow vulnerability in QNX RTP 5.60

047910
CVSS 7.5 - HIGH
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
PARTIAL
Integrity impact
PARTIAL
Availability impact
PARTIAL
network
low complexity
qnx
nessus

Summary

Buffer overflow in QNX RTP 5.60 allows remote attackers to cause a denial of service and possibly execute arbitrary commands via a large number of arguments to the stat command.

Vulnerable Configurations

Part Description Count
Application
Qnx
1

Nessus

NASL familyFTP
NASL idFTP_QNX_STACK_OVERFLOW.NASL
descriptionThe remote FTP server is vulnerable to a stack overflow when calling the
last seen2020-06-01
modified2020-06-02
plugin id10692
published2001-06-15
reporterThis script is Copyright (C) 2001-2018 Tenable Network Security, Inc.
sourcehttps://www.tenable.com/plugins/nessus/10692
titleQNX RTP FTP stat Command strtok() Function Overflow
code
#
# (C) Tenable Network Security, Inc.
#

include("compat.inc");

if (description)
{
 script_id(10692);
 script_version("1.28");
 script_cvs_date("Date: 2018/07/11 17:09:24");

 script_cve_id("CVE-2001-0325");
 script_bugtraq_id(2342);

 script_name(english:"QNX RTP FTP stat Command strtok() Function Overflow");
 script_summary(english:"strock() stack overflow");

 script_set_attribute(attribute:"synopsis", value:"The remote FTP server is affected by a stack overflow vulnerability.");
 script_set_attribute(attribute:"description", value:
"The remote FTP server is vulnerable to a stack overflow when calling
the 'strtok()' function. An attacker can exploit this flaw to execute
arbitrary code on the remote host.");
 # https://web.archive.org/web/20010319061218/http://archives.neohapsis.com/archives/bugtraq/2001-02/0031.html
 script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?20b5c285");
 script_set_attribute(attribute:"solution", value:"There is no known solution at this time.");
 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:U/RL:U/RC:C");
 script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
 script_set_attribute(attribute:"exploit_available", value:"false");

 script_set_attribute(attribute:"vuln_publication_date", value:"2001/02/02");
 script_set_attribute(attribute:"plugin_publication_date", value:"2001/06/15");

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

 script_category(ACT_DESTRUCTIVE_ATTACK);

 script_copyright(english:"This script is Copyright (C) 2001-2018 Tenable Network Security, Inc.");
 script_family(english:"FTP");

 script_dependencie("ftpserver_detect_type_nd_version.nasl", "ftp_anonymous.nasl");
 script_require_keys("ftp/login", "Settings/ParanoidReport");
 script_require_ports("Services/ftp", 21);

 exit(0);
}

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

if (report_paranoia < 2) audit(AUDIT_PARANOID);

login = get_kb_item_or_exit("ftp/login");
password = get_kb_item("ftp/password");


port = get_ftp_port(default: 21);

soc = open_sock_tcp(port);
if (! soc) exit(1, "Cannot connect to TCP port "+port+".");

if (! ftp_authenticate(socket:soc, user:login,pass:password))
{
  ftp_close(socket: soc);
  exit(1, "Cannot authenticate on on port "+port+".");
}

 crp = crap(data:"a ", length:320);
 req = strcat('STAT ', crp, '\r\n');
 send(socket:soc, data:req);
 r = recv_line(socket:soc, length:4096, timeout: 3 * get_read_timeout());
 if(!r)
 {
  security_hole(port);
  exit(0);
 }

ftp_close(socket: soc);