Vulnerabilities > CVE-2020-6824 - Session Fixation vulnerability in Mozilla Firefox

047910
CVSS 1.9 - LOW
Attack vector
LOCAL
Attack complexity
MEDIUM
Privileges required
NONE
Confidentiality impact
PARTIAL
Integrity impact
NONE
Availability impact
NONE
local
mozilla
CWE-384
nessus

Summary

Initially, a user opens a Private Browsing Window and generates a password for a site, then closes the Private Browsing Window but leaves Firefox open. Subsequently, if the user had opened a new Private Browsing Window, revisited the same site, and generated a new password - the generated passwords would have been identical, rather than independent. This vulnerability affects Firefox < 75.

Vulnerable Configurations

Part Description Count
Application
Mozilla
493

Common Weakness Enumeration (CWE)

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Session Credential Falsification through Forging
    An attacker creates a false but functional session credential in order to gain or usurp access to a service. Session credentials allow users to identify themselves to a service after an initial authentication without needing to resend the authentication information (usually a username and password) with every message. If an attacker is able to forge valid session credentials they may be able to bypass authentication or piggy-back off some other authenticated user's session. This attack differs from Reuse of Session IDs and Session Sidejacking attacks in that in the latter attacks an attacker uses a previous or existing credential without modification while, in a forging attack, the attacker must create their own credential, although it may be based on previously observed credentials.
  • Exploitation of Session Variables, Resource IDs and other Trusted Credentials
    Attacks on session IDs and resource IDs take advantage of the fact that some software accepts user input without verifying its authenticity. For example, a message queuing system that allows service requesters to post messages to its queue through an open channel (such as anonymous FTP), authorization is done through checking group or role membership contained in the posted message. However, there is no proof that the message itself, the information in the message (such group or role membership), or indeed the process that wrote the message to the queue are authentic and authorized to do so. Many server side processes are vulnerable to these attacks because the server to server communications have not been analyzed from a security perspective or the processes "trust" other systems because they are behind a firewall. In a similar way servers that use easy to guess or spoofable schemes for representing digital identity can also be vulnerable. Such systems frequently use schemes without cryptography and digital signatures (or with broken cryptography). Session IDs may be guessed due to insufficient randomness, poor protection (passed in the clear), lack of integrity (unsigned), or improperly correlation with access control policy enforcement points. Exposed configuration and properties files that contain system passwords, database connection strings, and such may also give an attacker an edge to identify these identifiers. The net result is that spoofing and impersonation is possible leading to an attacker's ability to break authentication, authorization, and audit controls on the system.
  • Accessing/Intercepting/Modifying HTTP Cookies
    This attack relies on the use of HTTP Cookies to store credentials, state information and other critical data on client systems. The first form of this attack involves accessing HTTP Cookies to mine for potentially sensitive data contained therein. The second form of this attack involves intercepting this data as it is transmitted from client to server. This intercepted information is then used by the attacker to impersonate the remote user/session. The third form is when the cookie's content is modified by the attacker before it is sent back to the server. Here the attacker seeks to convince the target server to operate on this falsified information.
  • Manipulating Opaque Client-based Data Tokens
    In circumstances where an application holds important data client-side in tokens (cookies, URLs, data files, and so forth) that data can be manipulated. If client or server-side application components reinterpret that data as authentication tokens or data (such as store item pricing or wallet information) then even opaquely manipulating that data may bear fruit for an Attacker. In this pattern an attacker undermines the assumption that client side tokens have been adequately protected from tampering through use of encryption or obfuscation.
  • Session Credential Falsification through Prediction
    This attack targets predictable session ID in order to gain privileges. The attacker can predict the session ID used during a transaction to perform spoofing and session hijacking.

Nessus

  • NASL familyMacOS X Local Security Checks
    NASL idMACOS_FIREFOX_75_0.NASL
    descriptionThe version of Firefox installed on the remote macOS or Mac OS X host is prior to 75.0. It is, therefore, affected by multiple vulnerabilities as referenced in the mfsa2020-12 advisory. - Mozilla developers and community members Tyson Smith and Christian Holler reported memory safety bugs present in Firefox 74 and Firefox ESR 68.6. Some of these bugs showed evidence of memory corruption and we presume that with enough effort some of these could have been exploited to run arbitrary code. (CVE-2020-6825) - When reading from areas partially or fully outside the source resource with WebGL
    last seen2020-04-10
    modified2020-04-07
    plugin id135275
    published2020-04-07
    reporterThis script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/135275
    titleMozilla Firefox < 75.0 Multiple Vulnerabilities (mfsa2020-12)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    
    # The descriptive text and package checks in this plugin were
    # extracted from Mozilla Foundation Security Advisory mfsa2020-12.
    # The text itself is copyright (C) Mozilla Foundation.
    
    
    include('compat.inc');
    
    if (description)
    {
      script_id(135275);
      script_version("1.2");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/04/09");
    
      script_cve_id(
        "CVE-2020-6821",
        "CVE-2020-6822",
        "CVE-2020-6823",
        "CVE-2020-6824",
        "CVE-2020-6825",
        "CVE-2020-6826"
      );
      script_xref(name:"MFSA", value:"2020-12");
    
      script_name(english:"Mozilla Firefox < 75.0 Multiple Vulnerabilities (mfsa2020-12)");
    
      script_set_attribute(attribute:"synopsis", value:
    "A web browser installed on the remote macOS or Mac OS X host is affected by multiple vulnerabilities.");
      script_set_attribute(attribute:"description", value:
    "The version of Firefox installed on the remote macOS or Mac OS X host is prior to 75.0. It is, therefore, affected by
    multiple vulnerabilities as referenced in the mfsa2020-12 advisory. 
    
      - Mozilla developers and community members Tyson Smith and Christian Holler reported 
        memory safety bugs present in Firefox 74 and Firefox ESR 68.6. Some of these bugs 
        showed evidence of memory corruption and we presume that with enough effort some of 
        these could have been exploited to run arbitrary code. (CVE-2020-6825) 
    
      - When reading from areas partially or fully outside the source resource with WebGL's 
        copyTexSubImage method, the specification requires the returned values be zero. 
        Previously, this memory was uninitialized, leading to potentially sensitive data 
        disclosure. (CVE-2020-6821)
    
      - On 32-bit builds, an out of bounds write could have occurred when processing an image
        larger than 4 GB in GMPDecodeData. It is possible that with enough effort this could 
        have been exploited to run arbitrary code. (CVE-2020-6822) 
    
      - A malicious extension could have called browser.identity.launchWebAuthFlow, 
        controlling the redirect_uri, and through the Promise returned, obtain the Auth 
        code and gain access to the user's account at the service provider. (CVE-2020-6823)
    
      - Initially, a user opens a Private Browsing Window and generates a password for a site,
        then closes the Private Browsing Window but leaves Firefox open. Subsequently, if the
        user had opened a new Private Browsing Window, revisited the same site, and generated
        a new password - the generated passwords would have been identical, rather than
        independent. (CVE-2020-6824) 
    
      - Mozilla developers Tyson Smith, Bob Clary, and Alexandru Michis reported memory 
        safety bugs present in Firefox 74. Some of these bugs showed evidence of memory 
        corruption and we presume that with enough effort some of these could have been 
        exploited to run arbitrary code. (CVE-2020-6826)
    
    Note that Nessus has not tested for this issue but has
    instead relied only on the application's self-reported version number.");
      script_set_attribute(attribute:"see_also", value:"https://www.mozilla.org/en-US/security/advisories/mfsa2020-12/");
      script_set_attribute(attribute:"solution", value:
    "Upgrade to Mozilla Firefox version 75.0 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-2020-6825");
    
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2020/04/07");
      script_set_attribute(attribute:"patch_publication_date", value:"2020/04/07");
      script_set_attribute(attribute:"plugin_publication_date", value:"2020/04/07");
    
      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:"MacOS X Local Security Checks");
    
      script_copyright(english:"This script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("macosx_firefox_installed.nasl");
      script_require_keys("MacOSX/Firefox/Installed");
    
      exit(0);
    }
    
    include('mozilla_version.inc');
    
    kb_base = 'MacOSX/Firefox';
    get_kb_item_or_exit(kb_base+'/Installed');
    
    version = get_kb_item_or_exit(kb_base+'/Version', exit_code:1);
    path = get_kb_item_or_exit(kb_base+'/Path', exit_code:1);
    
    is_esr = get_kb_item(kb_base+'/is_esr');
    if (is_esr) exit(0, 'The Mozilla Firefox installation is in the ESR branch.');
    
    mozilla_check_version(version:version, path:path, product:'firefox', esr:FALSE, fix:'75.0', severity:SECURITY_HOLE);
  • NASL familyGentoo Local Security Checks
    NASL idGENTOO_GLSA-202004-11.NASL
    descriptionThe remote host is affected by the vulnerability described in GLSA-202004-11 (Mozilla Firefox: Multiple vulnerabilities) Multiple vulnerabilities have been discovered in Mozilla Firefox. Please review the CVE identifiers referenced below for details. Impact : A remote attacker could entice a user to view a specially crafted web page, possibly resulting in the execution of arbitrary code with the privileges of the process, an information leak or a Denial of Service condition. Workaround : There is no known workaround at this time.
    last seen2020-05-08
    modified2020-04-24
    plugin id135947
    published2020-04-24
    reporterThis script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/135947
    titleGLSA-202004-11 : Mozilla Firefox: Multiple vulnerabilities
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from Gentoo Linux Security Advisory GLSA 202004-11.
    #
    # The advisory text is Copyright (C) 2001-2020 Gentoo Foundation, Inc.
    # and licensed under the Creative Commons - Attribution / Share Alike 
    # license. See http://creativecommons.org/licenses/by-sa/3.0/
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(135947);
      script_version("1.3");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/05/07");
    
      script_cve_id("CVE-2020-6821", "CVE-2020-6822", "CVE-2020-6823", "CVE-2020-6824", "CVE-2020-6825", "CVE-2020-6826");
      script_xref(name:"GLSA", value:"202004-11");
    
      script_name(english:"GLSA-202004-11 : Mozilla Firefox: Multiple vulnerabilities");
      script_summary(english:"Checks for updated package(s) in /var/db/pkg");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:
    "The remote Gentoo host is missing one or more security-related
    patches."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "The remote host is affected by the vulnerability described in GLSA-202004-11
    (Mozilla Firefox: Multiple vulnerabilities)
    
        Multiple vulnerabilities have been discovered in Mozilla Firefox. Please
          review the CVE identifiers referenced below for details.
      
    Impact :
    
        A remote attacker could entice a user to view a specially crafted web
          page, possibly resulting in the execution of arbitrary code with the
          privileges of the process, an information leak or a Denial of Service
          condition.
      
    Workaround :
    
        There is no known workaround at this time."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://security.gentoo.org/glsa/202004-11"
      );
      script_set_attribute(
        attribute:"solution", 
        value:
    "All Mozilla Firefox users should upgrade to the latest version:
          # emerge --sync
          # emerge --ask --oneshot --verbose '>=www-client/firefox-68.7.0'
        All Mozilla Firefox binary users should upgrade to the latest version:
          # emerge --sync
          # emerge --ask --oneshot --verbose '>=www-client/firefox-bin-68.7.0'"
      );
      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:"exploitability_ease", value:"No known exploits are available");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:gentoo:linux:firefox");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:gentoo:linux:firefox-bin");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:gentoo:linux");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2020/04/24");
      script_set_attribute(attribute:"patch_publication_date", value:"2020/04/23");
      script_set_attribute(attribute:"plugin_publication_date", value:"2020/04/24");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"Gentoo Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/Gentoo/release", "Host/Gentoo/qpkg-list");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("qpkg.inc");
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    if (!get_kb_item("Host/Gentoo/release")) audit(AUDIT_OS_NOT, "Gentoo");
    if (!get_kb_item("Host/Gentoo/qpkg-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    
    flag = 0;
    
    if (qpkg_check(package:"www-client/firefox-bin", unaffected:make_list("ge 68.7.0"), vulnerable:make_list("lt 68.7.0"))) flag++;
    if (qpkg_check(package:"www-client/firefox", unaffected:make_list("ge 68.7.0"), vulnerable:make_list("lt 68.7.0"))) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:qpkg_report_get());
      else security_hole(0);
      exit(0);
    }
    else
    {
      tested = qpkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "Mozilla Firefox");
    }
    
  • NASL familyWindows
    NASL idMOZILLA_FIREFOX_75_0.NASL
    descriptionThe version of Firefox installed on the remote Windows host is prior to 75.0. It is, therefore, affected by multiple vulnerabilities as referenced in the mfsa2020-12 advisory. - Mozilla developers and community members Tyson Smith and Christian Holler reported memory safety bugs present in Firefox 74 and Firefox ESR 68.6. Some of these bugs showed evidence of memory corruption and we presume that with enough effort some of these could have been exploited to run arbitrary code. (CVE-2020-6825) - When reading from areas partially or fully outside the source resource with WebGL
    last seen2020-04-10
    modified2020-04-07
    plugin id135276
    published2020-04-07
    reporterThis script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/135276
    titleMozilla Firefox < 75.0 (mfsa2020-12)
  • NASL familyUbuntu Local Security Checks
    NASL idUBUNTU_USN-4323-1.NASL
    descriptionMultiple security issues were discovered in Firefox. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit these to cause a denial of service, obtain sensitive information, or execute arbitrary code. (CVE-2020-6821, CVE-2020-6822, CVE-2020-6824, CVE-2020-6825, CVE-2020-6826) It was discovered that extensions could obtain auth codes from OAuth login flows in some circumstances. If a user were tricked in to installing a specially crafted extension, an attacker could potentially exploit this to obtain access to the user
    last seen2020-05-09
    modified2020-04-08
    plugin id135284
    published2020-04-08
    reporterUbuntu Security Notice (C) 2020 Canonical, Inc. / NASL script (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/135284
    titleUbuntu 16.04 LTS / 18.04 LTS / 19.10 : firefox vulnerabilities (USN-4323-1)