Lucene search

K
nessusThis script is Copyright (C) 2009-2022 Tenable Network Security, Inc.PHP_5_2_10.NASL
HistoryJun 22, 2009 - 12:00 a.m.

PHP < 5.2.10 Multiple Vulnerabilities

2009-06-2200:00:00
This script is Copyright (C) 2009-2022 Tenable Network Security, Inc.
www.tenable.com
28

According to its banner, the version of PHP installed on the remote host is older than 5.2.10. Such versions are reportedly affected by multiple vulnerabilities :

  • Sufficient checks are not performed on fields reserved for offsets in function ‘exif_read_data()’. Successful exploitation of this issue could result in a denial of service condition. (bug 48378)

  • Provided ‘safe_mode_exec_dir’ is not set (not set by default), it may be possible to bypass ‘safe_mode’ restrictions by preceding a backslash in functions such as ‘exec()’, ‘system()’, ‘shell_exec()’, ‘passthru()’ and ‘popen()’ on a system running PHP on Windows. (bug 45997)

#%NASL_MIN_LEVEL 70300
#
# (C) Tenable Network Security, Inc.
#

include('deprecated_nasl_level.inc');
include('compat.inc');

if (description)
{
  script_id(39480);
  script_version("1.14");
  script_set_attribute(attribute:"plugin_modification_date", value:"2022/04/11");

  script_cve_id("CVE-2009-2687");
  script_bugtraq_id(35435, 35440);
  script_xref(name:"SECUNIA", value:"35441");

  script_name(english:"PHP < 5.2.10 Multiple Vulnerabilities");

  script_set_attribute(attribute:"synopsis", value:
"The remote web server uses a version of PHP that is affected by
multiple vulnerabilities.");
  script_set_attribute(attribute:"description", value:
"According to its banner, the version of PHP installed on the remote
host is older than 5.2.10.  Such versions are reportedly affected by
multiple vulnerabilities :

  - Sufficient checks are not performed on fields reserved 
    for offsets in function 'exif_read_data()'. Successful 
    exploitation of this issue could result in a denial of 
    service condition. (bug 48378)

  - Provided 'safe_mode_exec_dir' is not set (not set by
    default), it may be possible to bypass 'safe_mode' 
    restrictions by preceding a backslash in functions 
    such as 'exec()', 'system()', 'shell_exec()', 
    'passthru()' and 'popen()' on a system running PHP 
    on Windows. (bug 45997)");
  script_set_attribute(attribute:"see_also", value:"https://bugs.php.net/bug.php?id=45997");
  script_set_attribute(attribute:"see_also", value:"https://bugs.php.net/bug.php?id=48378");
  script_set_attribute(attribute:"see_also", value:"http://www.php.net/releases/5_2_10.php");
  script_set_attribute(attribute:"see_also", value:"http://www.php.net/ChangeLog-5.php#5.2.10");
  script_set_attribute(attribute:"solution", value:
"Upgrade to PHP version 5.2.10 or later.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:H/Au:N/C:P/I:P/A:P");
  script_set_cvss_temporal_vector("CVSS2#E:U/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);

  script_set_attribute(attribute:"vuln_publication_date", value:"2009/05/24");
  script_set_attribute(attribute:"patch_publication_date", value:"2009/06/18");
  script_set_attribute(attribute:"plugin_publication_date", value:"2009/06/22");

  script_set_attribute(attribute:"plugin_type", value:"remote");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:php:php");
  script_set_attribute(attribute:"thorough_tests", value:"true");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"CGI abuses");

  script_copyright(english:"This script is Copyright (C) 2009-2022 Tenable Network Security, Inc.");

  script_dependencies("php_version.nasl");
  script_require_keys("www/PHP");
  script_require_ports("Services/www", 80);

  exit(0);
}

include("global_settings.inc");
include('misc_func.inc');
include("http.inc");
include("audit.inc");
include("webapp_func.inc");

port = get_http_port(default:80, php:TRUE);

php = get_php_from_kb(
  port : port,
  exit_on_fail : TRUE
);

version = php["ver"];
source = php["src"];

backported = get_kb_item('www/php/'+port+'/'+version+'/backported');

if (report_paranoia < 2 && backported)
  audit(AUDIT_BACKPORT_SERVICE, port, "PHP "+version+" install");

if (version =~ "^[0-4]\." ||
    version =~ "^5\.[01]\." ||
    version =~ "^5\.2\.[0-9]($|[^0-9])"
)
{
  if (report_verbosity > 0)
  {
    report =
      '\n  Version source     : '+source +
      '\n  Installed version  : '+version+
      '\n  Fixed version      : 5.2.10\n';
    security_warning(port:port, extra:report);
  }
  else security_warning(port);
  exit(0);
}
else audit(AUDIT_LISTEN_NOT_VULN, "PHP", port, version);
VendorProductVersionCPE
phpphpcpe:/a:php:php