Vulnerabilities > CVE-2017-14725 - Open Redirect vulnerability in Wordpress

047910
CVSS 4.9 - MEDIUM
Attack vector
NETWORK
Attack complexity
MEDIUM
Privileges required
SINGLE
Confidentiality impact
PARTIAL
Integrity impact
PARTIAL
Availability impact
NONE
network
wordpress
CWE-601
nessus

Summary

Before version 4.8.2, WordPress was susceptible to an open redirect attack in wp-admin/edit-tag-form.php and wp-admin/user-edit.php.

Vulnerable Configurations

Part Description Count
Application
Wordpress
625

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Fake the Source of Data
    An adversary provides data under a falsified identity. The purpose of using the falsified identity may be to prevent traceability of the provided data or it might be an attempt by the adversary to assume the rights granted to another identity. One of the simplest forms of this attack would be the creation of an email message with a modified "From" field in order to appear that the message was sent from someone other than the actual sender. Results of the attack vary depending on the details of the attack, but common results include privilege escalation, obfuscation of other attacks, and data corruption/manipulation.

Nessus

  • NASL familyCGI abuses
    NASL idWORDPRESS_4_8_2.NASL
    descriptionAccording to its self-reported version number, the WordPress application running on the remote web server is prior to 4.8.2. It is, therefore, affected by multiple vulnerabilities : - A flaw in $wpdb->prepare() can create unsafe queries leading to potential SQL injection flaws with plugins and themes. - Multiple cross-site scripting (XSS) vulnerabilities exists due to improper sanitization of user-supplied input. An unauthenticated, remote attacker can exploit this, via a specially crafted request, to execute arbitrary script code in a user
    last seen2020-06-01
    modified2020-06-02
    plugin id103358
    published2017-09-20
    reporterThis script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/103358
    titleWordPress < 4.8.2 Multiple Vulnerabilities
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(103358);
      script_version("1.9");
      script_cvs_date("Date: 2019/03/29  9:51:59");
    
      script_cve_id(
        "CVE-2017-14718",
        "CVE-2017-14719",
        "CVE-2017-14720",
        "CVE-2017-14721",
        "CVE-2017-14722",
        "CVE-2017-14723",
        "CVE-2017-14724",
        "CVE-2017-14725",
        "CVE-2017-14726"
      );
      script_bugtraq_id(100912);
    
      script_name(english:"WordPress < 4.8.2 Multiple Vulnerabilities");
      script_summary(english:"Checks the version of WordPress.");
    
      script_set_attribute(attribute:"synopsis", value:
    "A PHP application running on the remote web server is affected by
    multiple vulnerabilities.");
      script_set_attribute(attribute:"description", value:
    "According to its self-reported version number, the WordPress
    application running on the remote web server is prior to 4.8.2.
    It is, therefore, affected by multiple vulnerabilities :
    
      - A flaw in $wpdb->prepare() can create unsafe queries
        leading to potential SQL injection flaws with plugins
        and themes.
    
      - Multiple cross-site scripting (XSS) vulnerabilities
        exists due to improper sanitization of user-supplied
        input.  An unauthenticated, remote attacker can
        exploit this, via a specially crafted request, to
        execute arbitrary script code in a user's browser
        session. 
    
      - Multiple path traversal vulnerabilities exist in the
        file unzipping code and customizer. A remote attacker
        may be able to read arbitrary files subject to the
        privileges under which the web server runs.
    
      - An open redirect flaw exists on the user and term edit
        screens. A remote attacker can exploit this, by
        tricking a user into following a specially crafted link,
        to redirect a user to an arbitrary website.
    
    Note that Nessus has not tested for these issues but has instead
    relied only on the application's self-reported version number.");
      # https://wordpress.org/news/2017/09/wordpress-4-8-2-security-and-maintenance-release/
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?dadf2914");
      script_set_attribute(attribute:"see_also", value:"https://codex.wordpress.org/Version_4.8.2");
      script_set_attribute(attribute:"solution", value:
    "Upgrade to WordPress version 4.8.2 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:U/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
      script_set_attribute(attribute:"cvss_score_source", value:"CVE-2017-14723");
      script_set_attribute(attribute:"exploitability_ease", value:"No exploit is required");
      script_set_attribute(attribute:"exploit_available", value:"false");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2017/09/19");
      script_set_attribute(attribute:"patch_publication_date", value:"2017/09/19");
      script_set_attribute(attribute:"plugin_publication_date", value:"2017/09/20");
    
      script_set_attribute(attribute:"plugin_type", value:"remote");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:wordpress:wordpress");
      script_set_attribute(attribute:"potential_vulnerability", value:"true");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"CGI abuses");
    
      script_copyright(english:"This script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("wordpress_detect.nasl");
      script_require_keys("www/PHP", "installed_sw/WordPress", "Settings/ParanoidReport");
      script_require_ports("Services/www", 80, 443);
    
      exit(0);
    }
    
    include("vcf.inc");
    include("http.inc");
    
    if (report_paranoia < 2) audit(AUDIT_PARANOID);
    
    app = "WordPress";
    port = get_http_port(default:80, php:TRUE);
    
    app_info = vcf::get_app_info(app:app, port:port, webapp:TRUE);
    vcf::check_granularity(app_info:app_info, sig_segments:2);
    
    constraints = [
      { "fixed_version":"3.7.22", "fixed_display" : "3.7.22 / 4.8.2" },
      { "min_version":"3.8", "fixed_version":"3.8.22", "fixed_display" : "3.8.22 / 4.8.2" },
      { "min_version":"3.9", "fixed_version":"3.9.20", "fixed_display" : "3.9.20 / 4.8.2" },
      { "min_version":"4.0", "fixed_version":"4.0.19", "fixed_display" : "4.0.19 / 4.8.2" },
      { "min_version":"4.1", "fixed_version":"4.1.19", "fixed_display" : "4.1.19 / 4.8.2" },
      { "min_version":"4.2", "fixed_version":"4.2.16", "fixed_display" : "4.2.16 / 4.8.2" },
      { "min_version":"4.3", "fixed_version":"4.3.12", "fixed_display" : "4.3.12 / 4.8.2" },
      { "min_version":"4.4", "fixed_version":"4.4.11", "fixed_display" : "4.4.11 / 4.8.2" },
      { "min_version":"4.5", "fixed_version":"4.5.10", "fixed_display" : "4.5.10 / 4.8.2" },
      { "min_version":"4.6", "fixed_version":"4.6.7", "fixed_display" : "4.6.7 / 4.8.2" },
      { "min_version":"4.7", "fixed_version":"4.7.6", "fixed_display" : "4.7.6 / 4.8.2" },
      { "min_version":"4.8", "fixed_version":"4.8.2", "fixed_display" : "4.8.2" }
    ];
    
    vcf::check_version_and_report(
      app_info:app_info,
      constraints:constraints,
      severity:SECURITY_HOLE,
      flags:{xss:TRUE, sqli:TRUE}
    );
    
  • NASL familyDebian Local Security Checks
    NASL idDEBIAN_DSA-3997.NASL
    descriptionSeveral vulnerabilities were discovered in Wordpress, a web blogging tool. They would allow remote attackers to exploit path-traversal issues, perform SQL injections and various cross-site scripting attacks.
    last seen2020-06-01
    modified2020-06-02
    plugin id103793
    published2017-10-12
    reporterThis script is Copyright (C) 2017-2018 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/103793
    titleDebian DSA-3997-1 : wordpress - security update
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from Debian Security Advisory DSA-3997. The text 
    # itself is copyright (C) Software in the Public Interest, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(103793);
      script_version("3.3");
      script_cvs_date("Date: 2018/11/10 11:49:38");
    
      script_cve_id("CVE-2017-14718", "CVE-2017-14719", "CVE-2017-14720", "CVE-2017-14721", "CVE-2017-14722", "CVE-2017-14723", "CVE-2017-14724", "CVE-2017-14725", "CVE-2017-14726", "CVE-2017-14990");
      script_xref(name:"DSA", value:"3997");
    
      script_name(english:"Debian DSA-3997-1 : wordpress - security update");
      script_summary(english:"Checks dpkg output for the updated package");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote Debian host is missing a security-related update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "Several vulnerabilities were discovered in Wordpress, a web blogging
    tool. They would allow remote attackers to exploit path-traversal
    issues, perform SQL injections and various cross-site scripting
    attacks."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=876274"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=877629"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://packages.debian.org/source/jessie/wordpress"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://packages.debian.org/source/stretch/wordpress"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.debian.org/security/2017/dsa-3997"
      );
      script_set_attribute(
        attribute:"solution", 
        value:
    "Upgrade the wordpress packages.
    
    For the oldstable distribution (jessie), these problems have been
    fixed in version 4.1+dfsg-1+deb8u15.
    
    For the stable distribution (stretch), these problems have been fixed
    in version 4.7.5+dfsg-2+deb9u1."
      );
      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:U/C:H/I:H/A:H");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:wordpress");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:8.0");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:9.0");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2017/10/10");
      script_set_attribute(attribute:"plugin_publication_date", value:"2017/10/12");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2017-2018 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"Debian Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/Debian/release", "Host/Debian/dpkg-l");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("debian_package.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    if (!get_kb_item("Host/Debian/release")) audit(AUDIT_OS_NOT, "Debian");
    if (!get_kb_item("Host/Debian/dpkg-l")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    
    flag = 0;
    if (deb_check(release:"8.0", prefix:"wordpress", reference:"4.1+dfsg-1+deb8u15")) flag++;
    if (deb_check(release:"8.0", prefix:"wordpress-l10n", reference:"4.1+dfsg-1+deb8u15")) flag++;
    if (deb_check(release:"8.0", prefix:"wordpress-theme-twentyfifteen", reference:"4.1+dfsg-1+deb8u15")) flag++;
    if (deb_check(release:"8.0", prefix:"wordpress-theme-twentyfourteen", reference:"4.1+dfsg-1+deb8u15")) flag++;
    if (deb_check(release:"8.0", prefix:"wordpress-theme-twentythirteen", reference:"4.1+dfsg-1+deb8u15")) flag++;
    if (deb_check(release:"9.0", prefix:"wordpress", reference:"4.7.5+dfsg-2+deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"wordpress-l10n", reference:"4.7.5+dfsg-2+deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"wordpress-theme-twentyfifteen", reference:"4.7.5+dfsg-2+deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"wordpress-theme-twentyseventeen", reference:"4.7.5+dfsg-2+deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"wordpress-theme-twentysixteen", reference:"4.7.5+dfsg-2+deb9u1")) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:deb_report_get());
      else security_hole(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");