Vulnerabilities > CVE-2007-0905 - Multiple vulnerability in PHP 5.2.0 and Prior Versions

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
php
trustix
nessus

Summary

PHP before 5.2.1 allows attackers to bypass safe_mode and open_basedir restrictions via unspecified vectors in the session extension. NOTE: it is possible that this issue is a duplicate of CVE-2006-6383.

Nessus

  • NASL familyCGI abuses
    NASL idPHP_5_2_1.NASL
    descriptionAccording to its banner, the version of PHP installed on the remote host is older than 5.2.1. Such versions may be affected by several issues, including buffer overflows, format string vulnerabilities, arbitrary code execution,
    last seen2020-06-01
    modified2020-06-02
    plugin id24907
    published2007-04-02
    reporterThis script is Copyright (C) 2007-2018 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/24907
    titlePHP < 5.2.1 Multiple Vulnerabilities
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    if (NASL_LEVEL < 3000) exit(0);
    
    include("compat.inc");
    
    if (description)
    {
      script_id(24907);
      script_version("1.27");
      script_cvs_date("Date: 2018/07/24 18:56:10");
    
      script_cve_id(
        "CVE-2006-6383",
        "CVE-2007-0905",
        "CVE-2007-0906",
        "CVE-2007-0907",
        "CVE-2007-0908",
        "CVE-2007-0909",
        "CVE-2007-0910",
        "CVE-2007-0988",
        "CVE-2007-1376",
        "CVE-2007-1380",
        "CVE-2007-1383",
        "CVE-2007-1452",
        "CVE-2007-1453",
        "CVE-2007-1454",
        "CVE-2007-1700",
        "CVE-2007-1701",
        "CVE-2007-1824",
        "CVE-2007-1825",
        "CVE-2007-1835",
        "CVE-2007-1884",
        "CVE-2007-1885",
        "CVE-2007-1886",
        "CVE-2007-1887",
        "CVE-2007-1889",
        "CVE-2007-1890",
        "CVE-2007-4441",
        "CVE-2007-4586"
      );
      script_bugtraq_id(
        21508, 
        22496, 
        22805,
        22806,
        22862,
        22922,
        23119,
        23120,
        23219,
        23233, 
        23234, 
        23235, 
        23236, 
        23237, 
        23238
      );
    
      script_name(english:"PHP < 5.2.1 Multiple Vulnerabilities");
      script_summary(english:"Checks version of PHP");
     
      script_set_attribute(
        attribute:"synopsis",
        value:
    "The remote web server uses a version of PHP that is affected by
    multiple flaws."
      );
      script_set_attribute(
        attribute:"description",
        value:
    "According to its banner, the version of PHP installed on the remote
    host is older than 5.2.1.  Such versions may be affected by several
    issues, including buffer overflows, format string vulnerabilities,
    arbitrary code execution, 'safe_mode' and 'open_basedir' bypasses, and
    clobbering of super-globals."
      );
      script_set_attribute(attribute:"see_also", value:"http://www.php.net/releases/5_2_1.php");
      script_set_attribute(attribute:"solution", value:
    "Upgrade to PHP version 5.2.1 or later.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
      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, 119, 189, 399);
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2006/12/09");
      script_set_attribute(attribute:"patch_publication_date", value:"2007/02/08");
      script_set_attribute(attribute:"plugin_publication_date", value:"2007/04/02");
    
      script_set_attribute(attribute:"plugin_type", value:"remote");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:php:php");
      script_end_attributes();
     
      script_category(ACT_GATHER_INFO);
      script_family(english:"CGI abuses");
    
      script_copyright(english:"This script is Copyright (C) 2007-2018 Tenable Network Security, Inc.");
    
      script_dependencies("php_version.nasl");
      script_require_ports("Services/www", 80);
      script_require_keys("www/PHP");
      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 =~ "^5\.[01]\." || 
        version =~ "^5\.2\.0($|[^0-9])"
    )
    {
      if (report_verbosity > 0)
      {
        report =
          '\n  Version source     : '+source +
          '\n  Installed version  : '+version+
          '\n  Fixed version      : 5.2.1\n';
        security_hole(port:port, extra:report);
      }
      else security_hole(port);
      exit(0);
    }
    else audit(AUDIT_LISTEN_NOT_VULN, "PHP", port, version);
    
  • NASL familyCGI abuses
    NASL idPHP_4_4_5.NASL
    descriptionAccording to its banner, the version of PHP installed on the remote host is older than 4.4.5. Such versions may be affected by several issues, including buffer overflows, format string vulnerabilities, arbitrary code execution,
    last seen2020-06-01
    modified2020-06-02
    plugin id24906
    published2007-04-02
    reporterThis script is Copyright (C) 2007-2018 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/24906
    titlePHP < 4.4.5 Multiple Vulnerabilities
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    if (NASL_LEVEL < 3000) exit(0);
    
    include("compat.inc");
    
    if (description)
    {
      script_id(24906);
      script_version("1.25");
      script_cvs_date("Date: 2018/07/24 18:56:10");
    
      script_cve_id(
        "CVE-2006-4625",
        "CVE-2007-0905",
        "CVE-2007-0906",
        "CVE-2007-0907",
        "CVE-2007-0908",
        "CVE-2007-0909",
        "CVE-2007-0910",
        "CVE-2007-0988",
        "CVE-2007-1286",
        "CVE-2007-1376",
        "CVE-2007-1378",
        "CVE-2007-1379",
        "CVE-2007-1380",
        "CVE-2007-1700",
        "CVE-2007-1701",
        "CVE-2007-1777",
        "CVE-2007-1825",
        "CVE-2007-1835",
        "CVE-2007-1884",
        "CVE-2007-1885",
        "CVE-2007-1886",
        "CVE-2007-1887",
        "CVE-2007-1890"
      );
      script_bugtraq_id(
        22496, 
        22805, 
        22806, 
        22833, 
        22862,
        23119, 
        23120, 
        23169, 
        23219,
        23233, 
        23234, 
        23235,
        23236
      );
    
      script_name(english:"PHP < 4.4.5 Multiple Vulnerabilities");
      script_summary(english:"Checks version of PHP");
     
      script_set_attribute(
        attribute:"synopsis",
        value:
    "The remote web server uses a version of PHP that is affected by
    multiple flaws."
      );
      script_set_attribute(
        attribute:"description",
        value:
    "According to its banner, the version of PHP installed on the remote
    host is older than 4.4.5.  Such versions may be affected by several
    issues, including buffer overflows, format string vulnerabilities,
    arbitrary code execution, 'safe_mode' and 'open_basedir' bypasses, and
    clobbering of super-globals."
      );
      script_set_attribute(attribute:"see_also", value:"http://www.php.net/releases/4_4_5.php");
      script_set_attribute(attribute:"solution", value:
    "Upgrade to PHP version 4.4.5 or later.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:F/RL:OF/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"No exploit is required");
      script_set_attribute(attribute:"exploit_available", value:"false");
      script_set_attribute(attribute:"metasploit_name", value:'PHP 4 unserialize() ZVAL Reference Counter Overflow (Cookie)');
      script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
      script_cwe_id(20, 399);
    
      script_set_attribute(attribute:"plugin_publication_date", value:"2007/04/02");
      script_set_attribute(attribute:"vuln_publication_date", value:"2007/02/09");
    
      script_set_attribute(attribute:"plugin_type", value:"remote");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:php:php");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"CGI abuses");
    
      script_copyright(english:"This script is Copyright (C) 2007-2018 Tenable Network Security, Inc.");
    
      script_dependencies("php_version.nasl");
      script_require_ports("Services/www", 80);
      script_require_keys("www/PHP");
      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 =~ "^3\." ||
        version =~ "^4\.[0-3]\." ||
        version =~ "^4\.4\.[0-4]($|[^0-9])"
    )
    {
      if (report_verbosity > 0)
      {
        report =
          '\n  Version source     : '+source +
          '\n  Installed version  : '+version+
          '\n  Fixed version      : 4.4.5\n';
        security_hole(port:port, extra:report);
      }
      else security_hole(port);
      exit(0);
    }
    else audit(AUDIT_LISTEN_NOT_VULN, "PHP", port, version);
    
  • NASL familyFreeBSD Local Security Checks
    NASL idFREEBSD_PKG_7FCF1727BE7111DBB2EC000C6EC775D9.NASL
    descriptionMultiple vulnerabilities have been found in PHP, including : buffer overflows, stack overflows, format string, and information disclosure vulnerabilities. The session extension contained safe_mode and open_basedir bypasses, but the FreeBSD Security Officer does not consider these real security vulnerabilities, since safe_mode and open_basedir are insecure by design and should not be relied upon.
    last seen2020-06-01
    modified2020-06-02
    plugin id24365
    published2007-02-18
    reporterThis script is Copyright (C) 2007-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/24365
    titleFreeBSD : php -- multiple vulnerabilities (7fcf1727-be71-11db-b2ec-000c6ec775d9)
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from the FreeBSD VuXML database :
    #
    # Copyright 2003-2018 Jacques Vidrine and contributors
    #
    # Redistribution and use in source (VuXML) and 'compiled' forms (SGML,
    # HTML, PDF, PostScript, RTF and so forth) with or without modification,
    # are permitted provided that the following conditions are met:
    # 1. Redistributions of source code (VuXML) must retain the above
    #    copyright notice, this list of conditions and the following
    #    disclaimer as the first lines of this file unmodified.
    # 2. Redistributions in compiled form (transformed to other DTDs,
    #    published online in any format, converted to PDF, PostScript,
    #    RTF and other formats) must reproduce the above copyright
    #    notice, this list of conditions and the following disclaimer
    #    in the documentation and/or other materials provided with the
    #    distribution.
    # 
    # THIS DOCUMENTATION IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS"
    # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
    # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
    # OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
    # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
    # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
    # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION,
    # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(24365);
      script_version("1.17");
      script_cvs_date("Date: 2019/08/02 13:32:39");
    
      script_cve_id("CVE-2007-0905", "CVE-2007-0906", "CVE-2007-0907", "CVE-2007-0908", "CVE-2007-0909", "CVE-2007-0910", "CVE-2007-0988");
      script_xref(name:"Secunia", value:"24089");
    
      script_name(english:"FreeBSD : php -- multiple vulnerabilities (7fcf1727-be71-11db-b2ec-000c6ec775d9)");
      script_summary(english:"Checks for updated packages in pkg_info output");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:
    "The remote FreeBSD host is missing one or more security-related
    updates."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "Multiple vulnerabilities have been found in PHP, including : buffer
    overflows, stack overflows, format string, and information disclosure
    vulnerabilities.
    
    The session extension contained safe_mode and open_basedir bypasses,
    but the FreeBSD Security Officer does not consider these real security
    vulnerabilities, since safe_mode and open_basedir are insecure by
    design and should not be relied upon."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.php.net/releases/4_4_5.php"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.php.net/releases/5_2_1.php"
      );
      # https://vuxml.freebsd.org/freebsd/7fcf1727-be71-11db-b2ec-000c6ec775d9.html
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?816d763f"
      );
      script_set_attribute(attribute:"solution", value:"Update the affected packages.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
      script_cwe_id(20, 399);
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:mod_php");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:mod_php4");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:mod_php4-twig");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:mod_php5");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php4");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php4-cgi");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php4-cli");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php4-dtc");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php4-horde");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php4-nms");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php4-odbc");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php4-session");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php4-shmop");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php4-wddx");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php5");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php5-cgi");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php5-cli");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php5-dtc");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php5-horde");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php5-imap");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php5-nms");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php5-odbc");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php5-session");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php5-shmop");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php5-sqlite");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php5-wddx");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:freebsd:freebsd");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2007/02/09");
      script_set_attribute(attribute:"patch_publication_date", value:"2007/02/17");
      script_set_attribute(attribute:"plugin_publication_date", value:"2007/02/18");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2007-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"FreeBSD Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/FreeBSD/release", "Host/FreeBSD/pkg_info");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("freebsd_package.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    if (!get_kb_item("Host/FreeBSD/release")) audit(AUDIT_OS_NOT, "FreeBSD");
    if (!get_kb_item("Host/FreeBSD/pkg_info")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    
    flag = 0;
    
    if (pkg_test(save_report:TRUE, pkg:"php5-imap<5.2.1_2")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php5-odbc<5.2.1_2")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php5-session<5.2.1_2")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php5-shmop<5.2.1_2")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php5-sqlite<5.2.1_2")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php5-wddx<5.2.1_2")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php5<5.2.1_2")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php4-odbc<4.4.5")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php4-session<4.4.5")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php4-shmop<4.4.5")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php4-wddx<4.4.5")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php4<4.4.5")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"mod_php4-twig>=4<4.4.5")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"mod_php4-twig>=5<5.2.1_2")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"mod_php4>=4<4.4.5")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"mod_php4>=5<5.2.1_2")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"mod_php5>=4<4.4.5")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"mod_php5>=5<5.2.1_2")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"mod_php>=4<4.4.5")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"mod_php>=5<5.2.1_2")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php4-cgi>=4<4.4.5")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php4-cgi>=5<5.2.1_2")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php4-cli>=4<4.4.5")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php4-cli>=5<5.2.1_2")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php4-dtc>=4<4.4.5")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php4-dtc>=5<5.2.1_2")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php4-horde>=4<4.4.5")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php4-horde>=5<5.2.1_2")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php4-nms>=4<4.4.5")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php4-nms>=5<5.2.1_2")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php5-cgi>=4<4.4.5")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php5-cgi>=5<5.2.1_2")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php5-cli>=4<4.4.5")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php5-cli>=5<5.2.1_2")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php5-dtc>=4<4.4.5")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php5-dtc>=5<5.2.1_2")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php5-horde>=4<4.4.5")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php5-horde>=5<5.2.1_2")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php5-nms>=4<4.4.5")) flag++;
    if (pkg_test(save_report:TRUE, pkg:"php5-nms>=5<5.2.1_2")) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:pkg_report_get());
      else security_hole(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");
    

Statements

contributorMark J Cox
lastmodified2008-04-02
organizationRed Hat
statementWe do not consider these to be security issues. For more details see http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=169857#c1 and http://www.php.net/security-note.php