Vulnerabilities > CVE-2006-6812 - Remote File Include vulnerability in Myphpcalendar 10.1

047910
CVSS 7.5 - HIGH
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
PARTIAL
Integrity impact
PARTIAL
Availability impact
PARTIAL
network
low complexity
myphpcalendar
nessus
exploit available

Summary

Multiple PHP remote file inclusion vulnerabilities in myPHPCalendar 10.1 allow remote attackers to execute arbitrary PHP code via a URL in the cal_dir parameter to (1) admin.php, (2) contacts.php, or (3) convert-date.php.

Vulnerable Configurations

Part Description Count
Application
Myphpcalendar
1

Exploit-Db

descriptionmyPHPCalendar 10192000b (cal_dir) Remote File Include Vulnerabilities. CVE-2006-6812. Webapps exploit for php platform
fileexploits/php/webapps/3019.txt
idEDB-ID:3019
last seen2016-01-31
modified2006-12-26
platformphp
port
published2006-12-26
reporterCr@zy_King
sourcehttps://www.exploit-db.com/download/3019/
titlemyPHPCalendar 10192000b cal_dir Remote File Include Vulnerabilities
typewebapps

Nessus

NASL familyCGI abuses
NASL idMYPHPCALENDAR_INJECTION.NASL
descriptionThe remote web server appears to be hosting myPHPCalender. The installed version contains a vulnerability that could allow an attacker to make the remote host include php files hosted on a third party server. An attacker may use this flaw to inject arbitrary code in the remote host and gain a shell with the privileges of the web server.
last seen2020-06-01
modified2020-06-02
plugin id11877
published2003-10-12
reporterThis script is Copyright (C) 2003-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
sourcehttps://www.tenable.com/plugins/nessus/11877
titlemyPHPcalendar Multiple Scripts cal_dir Parameter Remote File Inclusion
code
#
# (C) Tenable Network Security, Inc.
#

# Ref:
#  From: "Frog Man" <[email protected]>
#  To: [email protected], [email protected]
#  Subject: [VulnWatch] myPHPCalendar : Informations Disclosure, File Include


include("compat.inc");

if(description)
{
  script_id(11877);
  script_version ("1.19");
  script_cvs_date("Date: 2019/05/31 10:05:08");

  script_cve_id("CVE-2006-6812");

  script_name(english:"myPHPcalendar Multiple Scripts cal_dir Parameter Remote File Inclusion");
  script_summary(english:"Checks for the presence of contacts.php");

  script_set_attribute(attribute:"synopsis", value:
"The remote web server is hosting a CGI application that is affected
by a remote file include vulnerability." );
  script_set_attribute(attribute:"description", value:
"The remote web server appears to be hosting myPHPCalender. The 
installed version contains a vulnerability that could allow an
attacker to make the remote host include php files hosted on a third
party server.

An attacker may use this flaw to inject arbitrary code in the remote
host and gain a shell with the privileges of the web server." );
  script_set_attribute(attribute:"see_also", value:"https://seclists.org/vulnwatch/2003/q4/10" );
  script_set_attribute(attribute:"solution", value:"There is no known solution at this time." );
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2006-6812");

  script_set_attribute(attribute:"plugin_publication_date", value: "2003/10/12");
  script_set_attribute(attribute:"vuln_publication_date", value: "2003/10/12");
  script_set_attribute(attribute:"plugin_type", value:"remote");
  script_end_attributes();
 
  script_category(ACT_ATTACK);
  script_copyright(english:"This script is Copyright (C) 2003-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
  script_family(english:"CGI abuses");

  script_dependencie("find_service1.nasl", "http_version.nasl");
  script_require_ports("Services/www", 80);
  script_exclude_keys("Settings/disable_cgi_scanning");
  script_require_keys("www/PHP");
  exit(0);
}

#
# The script code starts here
#

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);


function check(url)
{
  local_var res;

  res = http_send_recv3(method:"GET", item:string(url, "/contacts/php?cal_dir=http://example.com/"), port:port);
  if (isnull(res)) exit(1, "The web server on port "+port+" failed to respond.");

  if("http://example.com/vars.inc" >< res[2])
  {
    security_hole(port);
    exit(0);
  }
}

foreach dir (cgi_dirs())
 check(url:dir);