Vulnerabilities > CVE-2004-1705 - Buffer Overflow vulnerability in Citadel/UX Username

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
citadel
nessus
exploit available

Summary

Buffer overflow in Citadel/UX 6.23 and earlier allows remote attackers to cause a denial of service via a long username.

Vulnerable Configurations

Part Description Count
Application
Citadel
5

Exploit-Db

  • descriptionCitadel/UX Remote Denial of Service Exploit (PoC). CVE-2004-1705. Dos exploit for linux platform
    idEDB-ID:370
    last seen2016-01-31
    modified2004-08-02
    published2004-08-02
    reporterCoKi
    sourcehttps://www.exploit-db.com/download/370/
    titleCitadel/UX Remote Denial of Service Exploit PoC
  • descriptionCitadel/UX Remote Buffer Overflow Exploit. CVE-2004-1705. Remote exploit for linux platform
    idEDB-ID:424
    last seen2016-01-31
    modified2004-08-30
    published2004-08-30
    reporterNebunu
    sourcehttps://www.exploit-db.com/download/424/
    titleCitadel/UX Remote Buffer Overflow Exploit
  • descriptionCitadel/UX <= 6.23 Remote USER Directive Exploit (Private Version). CVE-2004-1705. Remote exploit for linux platform
    idEDB-ID:437
    last seen2016-01-31
    modified2004-09-09
    published2004-09-09
    reporterNebunu
    sourcehttps://www.exploit-db.com/download/437/
    titleCitadel/UX <= 6.23 - Remote USER Directive Exploit

Nessus

NASL familyGain a shell remotely
NASL idCITADEL_OVERFLOW.NASL
descriptionThe remote host is running Citadel/UX, a messaging server for Unix. There is a buffer overflow in the remote version of this software that could be exploited by a remote attacker to create a denial of service, or execute arbitrary code. To exploit this flaw, an attacker would need to provide a specially crafted argument to the USER command.
last seen2020-06-01
modified2020-06-02
plugin id13856
published2004-07-30
reporterThis script is Copyright (C) 2004-2018 Tenable Network Security, Inc.
sourcehttps://www.tenable.com/plugins/nessus/13856
titleCitadel/UX USER Command Remote Overflow
code
#
# (C) Tenable Network Security, Inc.
#


include("compat.inc");


if(description)
{
 script_id(13856);
 script_cve_id("CVE-2004-1705");
 script_bugtraq_id(10833);
 script_xref(name:"Secunia", value:"12197");

 script_version("1.19");

 script_name(english:"Citadel/UX USER Command Remote Overflow");
 script_summary(english:"Checks the version of the remote Citadel server");

 script_set_attribute(
   attribute:"synopsis",
   value:"The remote messaging service has a buffer overflow vulnerability."
 );
 script_set_attribute( attribute:"description",  value:
"The remote host is running Citadel/UX, a messaging server for Unix.

There is a buffer overflow in the remote version of this software
that could be exploited by a remote attacker to create a denial of
service, or execute arbitrary code.

To exploit this flaw, an attacker would need to provide a specially
crafted argument to the USER command." );
 script_set_attribute(
   attribute:"see_also",
   value:"https://seclists.org/bugtraq/2004/Jul/349"
 );
 script_set_attribute(
   attribute:"solution", 
   value:"Upgrade to Citadel 6.24 or later."
 );
 script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/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:"plugin_publication_date", value: "2004/07/30");
 script_set_attribute(attribute:"vuln_publication_date", value: "2004/07/29");
 script_cvs_date("Date: 2018/11/15 20:50:22");
 script_set_attribute(attribute:"plugin_type", value:"remote");
 script_end_attributes();

 script_category(ACT_GATHER_INFO);
 script_family(english:"Gain a shell remotely");
 script_copyright(english:"This script is Copyright (C) 2004-2018 Tenable Network Security, Inc.");
 script_dependencies("find_service2.nasl");
 script_require_ports("Services/citadel/ux", 504);
 exit(0);
}


port = get_kb_item("Services/citadel/ux");
if ( ! port ) port = 504;

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

greetings = recv_line(socket:soc, length:4096);
if ( ! ( greetings =~ "^200.*Citadel(/UX)?.*" ) ) exit(0);

send(socket:soc, data:'INFO\r\n');
for ( i = 0 ; i < 15 ; i ++ )
{
 r = recv_line(socket:soc, length:4096);
 if ( ! r ) break;
 if ( r =~ "^000" ) break;
 data += r;
}

version = egrep(pattern:"^Citadel(/UX)? [0-9.]*", string:data);
if ( version )
{
 version = chomp(version);
 set_kb_item(name:"citadel/" + port + "/version", value:version);
 version = egrep(pattern:"^Citadel(/UX)? ([0-5]\..*|6\.([0-1][0-9]|2[0-3])[^0-9])",
		string:data);

if ( version )
	security_hole(port);
}