| Reporter | Title | Published | Views | Family All 38 |
|---|---|---|---|---|
| ProFTPD Command Truncation Cross-Site Request Forgery | 22 Sep 200800:00 | – | nessus | |
| Debian DSA-1689-1 : proftpd-dfsg - missing input validation | 22 Dec 200800:00 | – | nessus | |
| Fedora 9 : proftpd-1.3.1-8.fc9 (2009-0064) | 16 Jan 200900:00 | – | nessus | |
| Fedora 10 : proftpd-1.3.1-8.fc10 (2009-0089) | 23 Apr 200900:00 | – | nessus | |
| Fedora 8 : proftpd-1.3.1-8.fc8 (2009-0195) | 16 Jan 200900:00 | – | nessus | |
| FreeBSD : proftpd -- Long Command Processing Vulnerability (0f51f2c9-8956-11dd-a6fe-0030843d3802) | 23 Sep 200800:00 | – | nessus | |
| Mandriva Linux Security Advisory : proftpd (MDVSA-2009:061) | 23 Apr 200900:00 | – | nessus | |
| CVE-2008-4242 | 25 Sep 200819:00 | – | cve | |
| CVE-2008-4242 | 25 Sep 200819:00 | – | cvelist | |
| [Backports-security-announce] Security Update for proftpd-dfsg | 23 Oct 200810:57 | – | debian |
#
# (C) Tenable Network Security, Inc.
#
include("compat.inc");
if (description)
{
script_id(34265);
script_version("1.20");
script_set_attribute(attribute:"plugin_modification_date", value:"2020/03/27");
script_cve_id("CVE-2008-4242");
script_bugtraq_id(31289);
script_name(english:"ProFTPD Command Truncation Cross-Site Request Forgery");
script_summary(english:"Sends a command in a long string to ProFTPD");
script_set_attribute(attribute:"synopsis", value:
"The remote FTP server is prone to a cross-site request forgery attack.");
script_set_attribute(attribute:"description", value:
"The remote host is using ProFTPD, a free FTP server for Unix and
Linux.
The version of ProFTPD running on the remote host splits an overly
long FTP command into a series of shorter ones and executes each in
turn. If an attacker can trick a ProFTPD administrator into accessing
a specially-formatted HTML link, arbitrary FTP commands could be
executed in the context of the affected application with the
administrator's privileges.");
script_set_attribute(attribute:"see_also", value:"https://seclists.org/fulldisclosure/2008/Sep/529");
script_set_attribute(attribute:"see_also", value:"http://bugs.proftpd.org/show_bug.cgi?id=3115");
script_set_attribute(attribute:"solution", value:
"Apply the patch included in the bug report or upgrade to the latest
version in CVS.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:P");
script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2008-4242");
script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
script_set_attribute(attribute:"exploit_available", value:"false");
script_cwe_id(352);
script_set_attribute(attribute:"plugin_publication_date", value:"2008/09/23");
script_set_attribute(attribute:"plugin_type", value:"remote");
script_set_attribute(attribute:"cpe", value:"cpe:/a:proftpd:proftpd");
script_end_attributes();
script_category(ACT_ATTACK);
script_family(english:"FTP");
script_copyright(english:"This script is Copyright (C) 2008-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ftpserver_detect_type_nd_version.nasl");
script_require_ports("Services/ftp", 21);
script_require_keys("Settings/ParanoidReport");
exit(0);
}
include("global_settings.inc");
include("ftp_func.inc");
port = get_ftp_port(default: 21, broken:TRUE);
# Unless we're paranoid, make sure the banner, if there is one,
# looks like ProFTPD.
if (report_paranoia < 2)
{
banner = get_ftp_banner(port:port);
if (
banner &&
" ProFTPD" >!< banner &&
"(ProFTPD)" >!< banner &&
"220 FTP Server ready" >!< banner
) exit(0);
}
# Open socket and read the banner.
soc = open_sock_tcp(port);
if (!soc) exit(1);
s = ftp_recv_line(socket:soc);
# Send a long string ending in "HELP" and see how the server reacts.
bufsize = 1022;
max_lines = 5;
magic = SCRIPT_NAME;
c = crap(data:"/", length:(bufsize*max_lines)) + magic;
send(socket:soc, data: c + '\r\n');
# There's a problem if the server sent back an error where the "command"
# contains our magic and at least one line before that with nothing
# but "/"s for the command.
magic = str_replace(find:"_", replace:" ", string:toupper(magic));
nlines = 0;
while (s = ftp_recv_line(socket:soc))
{
nlines++;
if (
nlines > 1 &&
preg(pattern:"^500 /*" + magic, string:s)
)
{
security_warning(port);
break;
}
else if (!preg(pattern:"^500 /+ ", string:s)) break;
}
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