Vulnerabilities > CVE-2016-5287 - Use After Free vulnerability in Mozilla Firefox

047910
CVSS 9.8 - CRITICAL
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
HIGH
Integrity impact
HIGH
Availability impact
HIGH
network
low complexity
mozilla
CWE-416
critical
nessus

Summary

A potentially exploitable use-after-free crash during actor destruction with service workers. This issue does not affect releases earlier than Firefox 49. This vulnerability affects Firefox < 49.0.2.

Vulnerable Configurations

Part Description Count
Application
Mozilla
460

Common Weakness Enumeration (CWE)

Nessus

  • NASL familyWindows
    NASL idMOZILLA_FIREFOX_49_0_2.NASL
    descriptionThe version of Mozilla Firefox installed on the remote Windows host is 48.x or 49.x prior to 49.0.2. It is, therefore, affected by multiple vulnerabilities : - A use-after-free error exists in the nsTArray_base<T>::SwapArrayElements() function during actor destruction with service workers. An unauthenticated, remote attacker can exploit this to dereference already freed memory, resulting in the execution of arbitrary code. Note that this vulnerability only affects version 49.x prior to 49.0.2. (CVE-2016-5287) - An information disclosure vulnerability exists due to an unspecified flaw when e10s is disabled. An unauthenticated, remote attacker can exploit this, via specially crafted web content, to disclose sensitive information in the HTTP cache regarding visited URLs and their content. Note that this vulnerability only affects version 48.x or 49.x prior to 49.0.2. (CVE-2016-5288)
    last seen2020-06-01
    modified2020-06-02
    plugin id94232
    published2016-10-25
    reporterThis script is Copyright (C) 2016-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/94232
    titleMozilla Firefox 48.x / 49.x < 49.0.2 Multiple Vulnerabilities
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(94232);
      script_version("1.7");
      script_cvs_date("Date: 2019/11/14");
    
      script_cve_id("CVE-2016-5287", "CVE-2016-5288");
      script_bugtraq_id(93810, 93811);
      script_xref(name:"MFSA", value:"2016-87");
    
      script_name(english:"Mozilla Firefox 48.x / 49.x < 49.0.2 Multiple Vulnerabilities");
      script_summary(english:"Checks the version of Firefox.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote Windows host contains a web browser that is affected by
    multiple vulnerabilities.");
      script_set_attribute(attribute:"description", value:
    "The version of Mozilla Firefox installed on the remote Windows host is
    48.x or 49.x prior to 49.0.2. It is, therefore, affected by multiple
    vulnerabilities :
    
      - A use-after-free error exists in the
        nsTArray_base<T>::SwapArrayElements() function during
        actor destruction with service workers. An
        unauthenticated, remote attacker can exploit this to
        dereference already freed memory, resulting in the
        execution of arbitrary code. Note that this
        vulnerability only affects version 49.x prior to
        49.0.2. (CVE-2016-5287)
    
      - An information disclosure vulnerability exists due to an
        unspecified flaw when e10s is disabled. An
        unauthenticated, remote attacker can exploit this, via
        specially crafted web content, to disclose sensitive
        information in the HTTP cache regarding visited URLs and
        their content. Note that this vulnerability only affects
        version 48.x or 49.x prior to 49.0.2. (CVE-2016-5288)");
      script_set_attribute(attribute:"see_also", value:"https://www.mozilla.org/en-US/security/advisories/mfsa2016-87/");
      script_set_attribute(attribute:"solution", value:
    "Upgrade to Mozilla Firefox version 49.0.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-2016-5287");
    
      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:"2016/10/20");
      script_set_attribute(attribute:"patch_publication_date", value:"2016/10/20");
      script_set_attribute(attribute:"plugin_publication_date", value:"2016/10/25");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:mozilla:firefox");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Windows");
    
      script_copyright(english:"This script is Copyright (C) 2016-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("mozilla_org_installed.nasl");
      script_require_keys("Mozilla/Firefox/Version");
    
      exit(0);
    }
    
    include("mozilla_version.inc");
    
    port = get_kb_item("SMB/transport");
    if (!port) port = 445;
    
    installs = get_kb_list("SMB/Mozilla/Firefox/*");
    if (isnull(installs)) audit(AUDIT_NOT_INST, "Firefox");
    
    mozilla_check_version(installs:installs, product:'firefox', esr:FALSE, fix:'49.0.2', min:'48', severity:SECURITY_HOLE);
    
  • NASL familyFedora Local Security Checks
    NASL idFEDORA_2016-FA03795843.NASL
    description - new upstream version (49.0.2) Note that Tenable Network Security has extracted the preceding description block directly from the Fedora update system website. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-06-05
    modified2016-11-07
    plugin id94593
    published2016-11-07
    reporterThis script is Copyright (C) 2016-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/94593
    titleFedora 24 : firefox (2016-fa03795843)
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from Fedora Security Advisory FEDORA-2016-fa03795843.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(94593);
      script_version("2.7");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/06/04");
    
      script_cve_id("CVE-2016-5287");
      script_xref(name:"FEDORA", value:"2016-fa03795843");
    
      script_name(english:"Fedora 24 : firefox (2016-fa03795843)");
      script_summary(english:"Checks rpm output for the updated package.");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote Fedora host is missing a security update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "  - new upstream version (49.0.2)
    
    Note that Tenable Network Security has extracted the preceding
    description block directly from the Fedora update system website.
    Tenable has attempted to automatically clean and format it as much as
    possible without introducing additional issues."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bodhi.fedoraproject.org/updates/FEDORA-2016-fa03795843"
      );
      script_set_attribute(
        attribute:"solution", 
        value:"Update the affected firefox package."
      );
      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:fedoraproject:fedora:firefox");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:fedoraproject:fedora:24");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2018/06/11");
      script_set_attribute(attribute:"patch_publication_date", value:"2016/11/05");
      script_set_attribute(attribute:"plugin_publication_date", value:"2016/11/07");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2016-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"Fedora Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/RedHat/release", "Host/RedHat/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);
    release = get_kb_item("Host/RedHat/release");
    if (isnull(release) || "Fedora" >!< release) audit(AUDIT_OS_NOT, "Fedora");
    os_ver = pregmatch(pattern: "Fedora.*release ([0-9]+)", string:release);
    if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Fedora");
    os_ver = os_ver[1];
    if (! preg(pattern:"^24([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "Fedora 24", "Fedora " + os_ver);
    
    if (!get_kb_item("Host/RedHat/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Fedora", cpu);
    
    
    flag = 0;
    if (rpm_check(release:"FC24", reference:"firefox-49.0.2-1.fc24")) flag++;
    
    
    if (flag)
    {
      security_report_v4(
        port       : 0,
        severity   : SECURITY_HOLE,
        extra      : rpm_report_get()
      );
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "firefox");
    }
    
  • NASL familySuSE Local Security Checks
    NASL idOPENSUSE-2016-1271.NASL
    descriptionMozilla Firefox was updated to 49.0.2 to fix two security issues and some bugs. The following vulnerabilities were fixed : - CVE-2016-5287: Crash in nsTArray_base (bsc#1006475) - CVE-2016-5288: Web content can read cache entries (bsc#1006476) The following changes and fixes are included : - Asynchronous rendering of the Flash plugins is now enabled by default - Change D3D9 default fallback preference to prevent graphical artifacts - Network issue prevents some users from seeing the Firefox UI on startup - Web compatibility issue with file uploads - Web compatibility issue with Array.prototype.values - Diagnostic information on timing for tab switching - Fix a Canvas filters graphics issue affecting HTML5 apps
    last seen2020-06-05
    modified2016-11-07
    plugin id94602
    published2016-11-07
    reporterThis script is Copyright (C) 2016-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/94602
    titleopenSUSE Security Update : Mozilla Firefox (openSUSE-2016-1271)
  • NASL familySuSE Local Security Checks
    NASL idOPENSUSE-2016-2639.NASL
    descriptionMozilla Firefox was updated to 49.0.2 to fix two security issues a some bugs. The following vulnerabilities were fixed : - CVE-2016-5287: Crash in nsTArray_base (bsc#1006475) - CVE-2016-5288: Web content can read cache entries (bsc#1006476) The following changes and fixes are included : - Asynchronous rendering of the Flash plugins is now enabled by default - Change D3D9 default fallback preference to prevent graphical artifacts - Network issue prevents some users from seeing the Firefox UI on startup - Web compatibility issue with file uploads - Web compatibility issue with Array.prototype.values - Diagnostic information on timing for tab switching - Fix a Canvas filters graphics issue affecting HTML5 apps
    last seen2020-06-05
    modified2016-10-31
    plugin id94427
    published2016-10-31
    reporterThis script is Copyright (C) 2016-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/94427
    titleopenSUSE Security Update : Mozilla Firefox (openSUSE-2016-2639)
  • NASL familyUbuntu Local Security Checks
    NASL idUBUNTU_USN-3111-1.NASL
    descriptionA use-after-free was discovered in service workers. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to cause a denial of service via program crash, or execute arbitrary code. (CVE-2016-5287) It was discovered that web content could access information in the HTTP cache in some circumstances. An attacker could potentially exploit this to obtain sensitive information. (CVE-2016-5288). Note that Tenable Network Security has extracted the preceding description block directly from the Ubuntu security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-06-01
    modified2020-06-02
    plugin id94351
    published2016-10-28
    reporterUbuntu Security Notice (C) 2016-2019 Canonical, Inc. / NASL script (C) 2016-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/94351
    titleUbuntu 12.04 LTS / 14.04 LTS / 16.04 LTS / 16.10 : firefox vulnerabilities (USN-3111-1)
  • NASL familyFreeBSD Local Security Checks
    NASL idFREEBSD_PKG_AAA9F3DB13B54A0E9ED7E5AB287098FA.NASL
    descriptionMozilla Foundation reports : CVE-2016-5287: Crash in nsTArray_base<T>::SwapArrayElements CVE-2016-5288: Web content can read cache entries
    last seen2020-06-01
    modified2020-06-02
    plugin id94214
    published2016-10-24
    reporterThis script is Copyright (C) 2016-2018 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/94214
    titleFreeBSD : mozilla -- multiple vulnerabilities (aaa9f3db-13b5-4a0e-9ed7-e5ab287098fa)
  • NASL familyMacOS X Local Security Checks
    NASL idMACOSX_FIREFOX_49_0_2.NASL
    descriptionThe version of Mozilla Firefox installed on the remote macOS host is 48.x or 49.x prior to 49.0.2. It is, therefore, affected by multiple vulnerabilities : - A use-after-free error exists in the nsTArray_base<T>::SwapArrayElements() function during actor destruction with service workers. An unauthenticated, remote attacker can exploit this to dereference already freed memory, resulting in the execution of arbitrary code. Note that this vulnerability only affects version 49.x prior to 49.0.2. (CVE-2016-5287) - An information disclosure vulnerability exists due to an unspecified flaw when e10s is disabled. An unauthenticated, remote attacker can exploit this, via specially crafted web content, to disclose sensitive information in the HTTP cache regarding visited URLs and their content. Note that this vulnerability only affects version 48.x or 49.x prior to 49.0.2. (CVE-2016-5288)
    last seen2020-06-01
    modified2020-06-02
    plugin id94231
    published2016-10-25
    reporterThis script is Copyright (C) 2016-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/94231
    titleMozilla Firefox 48.x / 49.x < 49.0.2 Multiple Vulnerabilities (macOS)
  • NASL familyFedora Local Security Checks
    NASL idFEDORA_2016-3F235E39D0.NASL
    description - new upstream version (49.0.2) Note that Tenable Network Security has extracted the preceding description block directly from the Fedora update system website. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-06-05
    modified2016-11-10
    plugin id94658
    published2016-11-10
    reporterThis script is Copyright (C) 2016-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/94658
    titleFedora 23 : firefox (2016-3f235e39d0)