Vulnerabilities > CVE-2013-0316 - Resource Management Errors vulnerability in Drupal

047910
CVSS 5.0 - MEDIUM
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
NONE
Availability impact
PARTIAL
network
low complexity
drupal
CWE-399
nessus

Summary

The Image module in Drupal 7.x before 7.20 allows remote attackers to cause a denial of service (CPU and disk space consumption) via a large number of new derivative requests.

Common Weakness Enumeration (CWE)

Nessus

  • NASL familyCGI abuses
    NASL idDRUPAL_7_20.NASL
    descriptionThe remote web server is running a version of Drupal that is 7.x prior to 7.20. It is, therefore, affected by a flaw during the handling of on-demand generation of image derivatives. A remote attacker, using a large number of derivative requests, could exploit this to cause a denial of service by filling up server disk space and causing a very high CPU load. Note that Nessus has not tested for this issue but has instead relied only on the application
    last seen2020-06-01
    modified2020-06-02
    plugin id64990
    published2013-03-04
    reporterThis script is Copyright (C) 2013-2018 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/64990
    titleDrupal 7.x < 7.20 On-Demand Image Derivative Generation Handling Resource Exhaustion DoS
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(64990);
      script_version("1.12");
      script_cvs_date("Date: 2018/11/28 22:47:41");
    
      script_cve_id("CVE-2013-0316");
      script_bugtraq_id(58069);
    
      script_name(english:"Drupal 7.x < 7.20 On-Demand Image Derivative Generation Handling Resource Exhaustion DoS");
      script_summary(english:"Checks the version of Drupal.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote web server is running a PHP application that is affected by
    a denial of service vulnerability.");
      script_set_attribute(attribute:"description", value:
    "The remote web server is running a version of Drupal that is 7.x prior
    to 7.20. It is, therefore, affected by a flaw during the handling of
    on-demand generation of image derivatives. A remote attacker, using a
    large number of derivative requests, could exploit this to cause a
    denial of service by filling up server disk space and causing a very
    high CPU load.
    
    Note that Nessus has not tested for this issue but has instead relied
    only on the application's self-reported version number.");
      # https://www.drupal.org/forum/newsletters/security-advisories-for-drupal-core/2013-02-20/sa-core-2013-002-drupal-core-denial
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?a4a5e035");
      script_set_attribute(attribute:"solution", value:"Upgrade to version 7.20 or later.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"false");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2013/02/20");
      script_set_attribute(attribute:"patch_publication_date", value:"2013/02/20");
      script_set_attribute(attribute:"plugin_publication_date", value:"2013/03/04");
    
      script_set_attribute(attribute:"potential_vulnerability", value:"true");
      script_set_attribute(attribute:"plugin_type", value:"remote");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:drupal:drupal");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"CGI abuses");
    
      script_copyright(english:"This script is Copyright (C) 2013-2018 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("drupal_detect.nasl");
      script_require_ports("Services/www", 80);
      script_require_keys("www/PHP", "installed_sw/Drupal", "Settings/ParanoidReport");
      exit(0);
    }
    
    include("audit.inc");
    include("global_settings.inc");
    include("misc_func.inc");
    include("http.inc");
    include("install_func.inc");
    
    app = "Drupal";
    get_install_count(app_name:app, exit_if_zero:TRUE);
    
    port = get_http_port(default:80, php:TRUE);
    
    install = get_single_install(
      app_name : app,
      port     : port,
      exit_if_unknown_ver : TRUE
    );
    
    dir = install['path'];
    version = install['version'];
    url = build_url(qs:dir, port:port);
    
    if (report_paranoia < 2) audit(AUDIT_PARANOID);
    
    fix = '7.20';
    if (version =~ "^7\.([0-9]|1[0-9])($|[^0-9]+)")
    {
      if (report_verbosity > 0)
      {
        report =
          '\n  URL               : ' + url +
          '\n  Installed version : ' + version +
          '\n  Fixed version     : ' + fix +
          '\n';
        security_warning(port:port, extra:report);
      }
      else security_warning(port);
      exit(0);
    }
    else audit(AUDIT_WEB_APP_NOT_AFFECTED, app, url, version);
    
  • NASL familyMandriva Local Security Checks
    NASL idMANDRIVA_MDVSA-2013-287.NASL
    descriptionMultiple security issues was identified and fixed in drupal : Drupal core
    last seen2020-06-01
    modified2020-06-02
    plugin id71101
    published2013-11-27
    reporterThis script is Copyright (C) 2013-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/71101
    titleMandriva Linux Security Advisory : drupal (MDVSA-2013:287-1)
    code
    #%NASL_MIN_LEVEL 80502
    
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from Mandriva Linux Security Advisory MDVSA-2013:287. 
    # The text itself is copyright (C) Mandriva S.A.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(71101);
      script_version("1.11");
      script_cvs_date("Date: 2019/08/02 13:32:55");
    
      script_cve_id("CVE-2013-0316", "CVE-2013-6385", "CVE-2013-6386", "CVE-2013-6387", "CVE-2013-6388", "CVE-2013-6389");
      script_bugtraq_id(58069);
      script_xref(name:"MDVSA", value:"2013:287-1");
    
      script_name(english:"Mandriva Linux Security Advisory : drupal (MDVSA-2013:287-1)");
      script_summary(english:"Checks rpm output for the updated packages");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:
    "The remote Mandriva Linux host is missing one or more security
    updates."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "Multiple security issues was identified and fixed in drupal :
    
    Drupal core's Image module allows for the on-demand generation of
    image derivatives. This capability can be abused by requesting a large
    number of new derivatives which can fill up the server disk space, and
    which can cause a very high CPU load. Either of these effects may lead
    to the site becoming unavailable or unresponsive (CVE-2013-0316).
    
    Drupal's form API has built-in cross-site request forgery (CSRF)
    validation, and also allows any module to perform its own validation
    on the form. In certain common cases, form validation functions may
    execute unsafe operations (CVE-2013-6385).
    
    Drupal core directly used the mt_rand() pseudorandom number generator
    for generating security related strings used in several core modules.
    It was found that brute force tools could determine the seeds making
    these strings predictable under certain circumstances (CVE-2013-6386).
    
    Image field descriptions are not properly sanitized before they are
    printed to HTML, thereby exposing a cross-site scripting vulnerability
    (CVE-2013-6387).
    
    A cross-site scripting vulnerability was found in the Color module. A
    malicious attacker could trick an authenticated administrative user
    into visiting a page containing specific JavaScript that could lead to
    a reflected cross-site scripting attack via JavaScript execution in
    CSS (CVE-2013-6388).
    
    The Overlay module displays administrative pages as a layer over the
    current page (using JavaScript), rather than replacing the page in the
    browser window. The Overlay module did not sufficiently validate URLs
    prior to displaying their contents, leading to an open redirect
    vulnerability (CVE-2013-6389).
    
    The updated packages has been upgraded to the 7.24 version which is
    unaffected by these security flaws.
    
    Update :
    
    Additional apache ACL restrictions has been added to fully conform to
    the SA-CORE-2013-003 advisory."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://drupal.org/SA-CORE-2013-002"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://drupal.org/SA-CORE-2013-003"
      );
      script_set_attribute(attribute:"solution", value:"Update the affected packages.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:M/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 known exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"false");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:drupal");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:drupal-mysql");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:drupal-postgresql");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:drupal-sqlite");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:mandriva:business_server:1");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2013/12/17");
      script_set_attribute(attribute:"plugin_publication_date", value:"2013/11/27");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2013-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"Mandriva Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/cpu", "Host/Mandrake/release", "Host/Mandrake/rpm-list");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    if (!get_kb_item("Host/Mandrake/release")) audit(AUDIT_OS_NOT, "Mandriva / Mandake Linux");
    if (!get_kb_item("Host/Mandrake/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if (cpu !~ "^(amd64|i[3-6]86|x86_64)$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Mandriva / Mandrake Linux", cpu);
    
    
    flag = 0;
    if (rpm_check(release:"MDK-MBS1", reference:"drupal-7.24-1.1.mbs1")) flag++;
    if (rpm_check(release:"MDK-MBS1", reference:"drupal-mysql-7.24-1.1.mbs1")) flag++;
    if (rpm_check(release:"MDK-MBS1", reference:"drupal-postgresql-7.24-1.1.mbs1")) flag++;
    if (rpm_check(release:"MDK-MBS1", reference:"drupal-sqlite-7.24-1.1.mbs1")) flag++;
    
    
    if (flag)
    {
      if (report_verbosity > 0) security_warning(port:0, extra:rpm_report_get());
      else security_warning(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");
    
  • NASL familyFreeBSD Local Security Checks
    NASL idFREEBSD_PKG_A4D71E4C7BF411E284CDD43D7E0C7C02.NASL
    descriptionDrupal Security Team reports : Drupal core
    last seen2020-06-01
    modified2020-06-02
    plugin id64744
    published2013-02-21
    reporterThis script is Copyright (C) 2013-2018 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/64744
    titleFreeBSD : drupal7 -- Denial of service (a4d71e4c-7bf4-11e2-84cd-d43d7e0c7c02)
    code
    #
    # (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(64744);
      script_version("1.8");
      script_cvs_date("Date: 2018/12/19 13:21:18");
    
      script_cve_id("CVE-2013-0316");
    
      script_name(english:"FreeBSD : drupal7 -- Denial of service (a4d71e4c-7bf4-11e2-84cd-d43d7e0c7c02)");
      script_summary(english:"Checks for updated package in pkg_info output");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote FreeBSD host is missing a security-related update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "Drupal Security Team reports :
    
    Drupal core's Image module allows for the on-demand generation of
    image derivatives. This capability can be abused by requesting a large
    number of new derivatives which can fill up the server disk space, and
    which can cause a very high CPU load. Either of these effects may lead
    to the site becoming unavailable or unresponsive."
      );
      # https://drupal.org/SA-CORE-2013-002
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?a4a5e035"
      );
      # https://vuxml.freebsd.org/freebsd/a4d71e4c-7bf4-11e2-84cd-d43d7e0c7c02.html
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?c9a3d2fd"
      );
      script_set_attribute(attribute:"solution", value:"Update the affected package.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:drupal7");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:freebsd:freebsd");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2013/02/20");
      script_set_attribute(attribute:"patch_publication_date", value:"2013/02/21");
      script_set_attribute(attribute:"plugin_publication_date", value:"2013/02/21");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2013-2018 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:"drupal7<7.19")) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_warning(port:0, extra:pkg_report_get());
      else security_warning(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");