Vulnerabilities > CVE-2016-1697 - Improper Access Control vulnerability in multiple products
Attack vector
NETWORK Attack complexity
LOW Privileges required
NONE Confidentiality impact
HIGH Integrity impact
HIGH Availability impact
HIGH Summary
The FrameLoader::startLoad function in WebKit/Source/core/loader/FrameLoader.cpp in Blink, as used in Google Chrome before 51.0.2704.79, does not prevent frame navigations during DocumentLoader detach operations, which allows remote attackers to bypass the Same Origin Policy via crafted JavaScript code.
Vulnerable Configurations
Common Weakness Enumeration (CWE)
Common Attack Pattern Enumeration and Classification (CAPEC)
- Embedding Scripts within Scripts An attack of this type exploits a programs' vulnerabilities that are brought on by allowing remote hosts to execute scripts. The attacker leverages this capability to execute scripts to execute his/her own script by embedding it within other scripts that the target software is likely to execute. The attacker must have the ability to inject script into script that is likely to be executed. If this is done, then the attacker can potentially launch a variety of probes and attacks against the web server's local environment, in many cases the so-called DMZ, back end resources the web server can communicate with, and other hosts. With the proliferation of intermediaries, such as Web App Firewalls, network devices, and even printers having JVMs and Web servers, there are many locales where an attacker can inject malicious scripts. Since this attack pattern defines scripts within scripts, there are likely privileges to execute said attack on the host. Of course, these attacks are not solely limited to the server side, client side scripts like Ajax and client side JavaScript can contain malicious scripts as well. In general all that is required is for there to be sufficient privileges to execute a script, but not protected against writing.
- Signature Spoofing by Key Theft An attacker obtains an authoritative or reputable signer's private signature key by theft and then uses this key to forge signatures from the original signer to mislead a victim into performing actions that benefit the attacker.
Nessus
NASL family Ubuntu Local Security Checks NASL id UBUNTU_USN-2992-1.NASL description An unspecified security issue was discovered in Blink. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to bypass same-origin restrictions. (CVE-2016-1673) An issue was discovered with Document reattachment in Blink in some circumstances. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to bypass same-origin restrictions. (CVE-2016-1675) A type confusion bug was discovered in V8. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to obtain sensitive information. (CVE-2016-1677) A heap overflow was discovered in V8. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to cause a denial of service (application crash) or execute arbitrary code. (CVE-2016-1678) A use-after-free was discovered in the V8ValueConverter implementation in Chromium in some circumstances. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to cause a denial of service (application crash) or execute arbitrary code. (CVE-2016-1679) A use-after-free was discovered in Skia. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to cause a denial of service (application crash) or execute arbitrary code. (CVE-2016-1680) A security issue was discovered in ServiceWorker registration in Blink in some circumstances. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to bypass Content Security Policy (CSP) protections. (CVE-2016-1682) An out-of-bounds memory access was discovered in libxslt. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to cause a denial of service (application crash) or execute arbitrary code. (CVE-2016-1683) An integer overflow was discovered in libxslt. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to cause a denial of service (application crash or resource consumption). (CVE-2016-1684) An out-of-bounds read was discovered in the regular expression implementation in V8. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to cause a denial of service (application crash). (CVE-2016-1688) A heap overflow was discovered in Chromium. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to cause a denial of service (application crash) or execute arbitrary code. (CVE-2016-1689) A heap overflow was discovered in Skia. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to cause a denial of service (application crash) or execute arbitrary code. (CVE-2016-1691) It was discovered that Blink permits cross-origin loading of stylesheets by a service worker even when the stylesheet download has an incorrect MIME type. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to bypass same-origin restrictions. (CVE-2016-1692) Multiple security issues were discovered in Chromium. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit these to read uninitialized memory, cause a denial of service (application crash) or execute arbitrary code. (CVE-2016-1695, CVE-2016-1703) It was discovered that Blink does not prevent frame navigation during DocumentLoader detach operations. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to bypass same-origin restrictions. (CVE-2016-1697) A parameter sanitization bug was discovered in the devtools subsystem in Blink. An attacker could potentially exploit this to bypass intended access restrictions. (CVE-2016-1699) An out-of-bounds read was discovered in Skia. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to cause a denial of service (application crash). (CVE-2016-1702). 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 seen 2020-06-01 modified 2020-06-02 plugin id 91498 published 2016-06-07 reporter Ubuntu Security Notice (C) 2016-2019 Canonical, Inc. / NASL script (C) 2016-2019 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/91498 title Ubuntu 14.04 LTS / 15.10 / 16.04 LTS : oxide-qt vulnerabilities (USN-2992-1) code # # (C) Tenable Network Security, Inc. # # The descriptive text and package checks in this plugin were # extracted from Ubuntu Security Notice USN-2992-1. The text # itself is copyright (C) Canonical, Inc. See # <http://www.ubuntu.com/usn/>. Ubuntu(R) is a registered # trademark of Canonical, Inc. # include("compat.inc"); if (description) { script_id(91498); script_version("2.15"); script_cvs_date("Date: 2019/09/18 12:31:45"); script_cve_id("CVE-2016-1673", "CVE-2016-1675", "CVE-2016-1677", "CVE-2016-1678", "CVE-2016-1679", "CVE-2016-1680", "CVE-2016-1682", "CVE-2016-1683", "CVE-2016-1684", "CVE-2016-1688", "CVE-2016-1689", "CVE-2016-1691", "CVE-2016-1692", "CVE-2016-1695", "CVE-2016-1697", "CVE-2016-1699", "CVE-2016-1702", "CVE-2016-1703"); script_xref(name:"USN", value:"2992-1"); script_name(english:"Ubuntu 14.04 LTS / 15.10 / 16.04 LTS : oxide-qt vulnerabilities (USN-2992-1)"); script_summary(english:"Checks dpkg output for updated package."); script_set_attribute( attribute:"synopsis", value:"The remote Ubuntu host is missing a security-related patch." ); script_set_attribute( attribute:"description", value: "An unspecified security issue was discovered in Blink. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to bypass same-origin restrictions. (CVE-2016-1673) An issue was discovered with Document reattachment in Blink in some circumstances. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to bypass same-origin restrictions. (CVE-2016-1675) A type confusion bug was discovered in V8. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to obtain sensitive information. (CVE-2016-1677) A heap overflow was discovered in V8. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to cause a denial of service (application crash) or execute arbitrary code. (CVE-2016-1678) A use-after-free was discovered in the V8ValueConverter implementation in Chromium in some circumstances. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to cause a denial of service (application crash) or execute arbitrary code. (CVE-2016-1679) A use-after-free was discovered in Skia. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to cause a denial of service (application crash) or execute arbitrary code. (CVE-2016-1680) A security issue was discovered in ServiceWorker registration in Blink in some circumstances. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to bypass Content Security Policy (CSP) protections. (CVE-2016-1682) An out-of-bounds memory access was discovered in libxslt. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to cause a denial of service (application crash) or execute arbitrary code. (CVE-2016-1683) An integer overflow was discovered in libxslt. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to cause a denial of service (application crash or resource consumption). (CVE-2016-1684) An out-of-bounds read was discovered in the regular expression implementation in V8. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to cause a denial of service (application crash). (CVE-2016-1688) A heap overflow was discovered in Chromium. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to cause a denial of service (application crash) or execute arbitrary code. (CVE-2016-1689) A heap overflow was discovered in Skia. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to cause a denial of service (application crash) or execute arbitrary code. (CVE-2016-1691) It was discovered that Blink permits cross-origin loading of stylesheets by a service worker even when the stylesheet download has an incorrect MIME type. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to bypass same-origin restrictions. (CVE-2016-1692) Multiple security issues were discovered in Chromium. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit these to read uninitialized memory, cause a denial of service (application crash) or execute arbitrary code. (CVE-2016-1695, CVE-2016-1703) It was discovered that Blink does not prevent frame navigation during DocumentLoader detach operations. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to bypass same-origin restrictions. (CVE-2016-1697) A parameter sanitization bug was discovered in the devtools subsystem in Blink. An attacker could potentially exploit this to bypass intended access restrictions. (CVE-2016-1699) An out-of-bounds read was discovered in Skia. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit this to cause a denial of service (application crash). (CVE-2016-1702). 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." ); script_set_attribute( attribute:"see_also", value:"https://usn.ubuntu.com/2992-1/" ); script_set_attribute( attribute:"solution", value:"Update the affected liboxideqtcore0 package." ); 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_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:R/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:"exploit_available", value:"false"); script_set_attribute(attribute:"plugin_type", value:"local"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:liboxideqtcore0"); script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:14.04"); script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:15.10"); script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:16.04"); script_set_attribute(attribute:"vuln_publication_date", value:"2016/06/05"); script_set_attribute(attribute:"patch_publication_date", value:"2016/06/06"); script_set_attribute(attribute:"plugin_publication_date", value:"2016/06/07"); script_set_attribute(attribute:"generated_plugin", value:"current"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_copyright(english:"Ubuntu Security Notice (C) 2016-2019 Canonical, Inc. / NASL script (C) 2016-2019 and is owned by Tenable, Inc. or an Affiliate thereof."); script_family(english:"Ubuntu Local Security Checks"); script_dependencies("ssh_get_info.nasl"); script_require_keys("Host/cpu", "Host/Ubuntu", "Host/Ubuntu/release", "Host/Debian/dpkg-l"); exit(0); } include("audit.inc"); include("ubuntu.inc"); include("misc_func.inc"); if ( ! get_kb_item("Host/local_checks_enabled") ) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED); release = get_kb_item("Host/Ubuntu/release"); if ( isnull(release) ) audit(AUDIT_OS_NOT, "Ubuntu"); release = chomp(release); if (! preg(pattern:"^(14\.04|15\.10|16\.04)$", string:release)) audit(AUDIT_OS_NOT, "Ubuntu 14.04 / 15.10 / 16.04", "Ubuntu " + release); if ( ! get_kb_item("Host/Debian/dpkg-l") ) 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, "Ubuntu", cpu); flag = 0; if (ubuntu_check(osver:"14.04", pkgname:"liboxideqtcore0", pkgver:"1.15.7-0ubuntu0.14.04.1")) flag++; if (ubuntu_check(osver:"15.10", pkgname:"liboxideqtcore0", pkgver:"1.15.7-0ubuntu0.15.10.1")) flag++; if (ubuntu_check(osver:"16.04", pkgname:"liboxideqtcore0", pkgver:"1.15.7-0ubuntu0.16.04.1")) flag++; if (flag) { security_report_v4( port : 0, severity : SECURITY_WARNING, extra : ubuntu_report_get() ); exit(0); } else { tested = ubuntu_pkg_tests_get(); if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested); else audit(AUDIT_PACKAGE_NOT_INSTALLED, "liboxideqtcore0"); }
NASL family Debian Local Security Checks NASL id DEBIAN_DSA-3594.NASL description Several vulnerabilities have been discovered in the chromium web browser. - CVE-2016-1696 A cross-origin bypass was found in the bindings to extensions. - CVE-2016-1697 Mariusz Mlynski discovered a cross-origin bypass in Blink/Webkit. - CVE-2016-1698 Rob Wu discovered an information leak. - CVE-2016-1699 Gregory Panakkal discovered an issue in the Developer Tools feature. - CVE-2016-1700 Rob Wu discovered a use-after-free issue in extensions. - CVE-2016-1701 Rob Wu discovered a use-after-free issue in the autofill feature. - CVE-2016-1702 cloudfuzzer discovered an out-of-bounds read issue in the skia library. last seen 2020-06-01 modified 2020-06-02 plugin id 91473 published 2016-06-06 reporter This script is Copyright (C) 2016-2018 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/91473 title Debian DSA-3594-1 : chromium-browser - security update NASL family Windows NASL id GOOGLE_CHROME_51_0_2704_79.NASL description The version of Google Chrome installed on the remote Windows host is prior to 51.0.2704.79. It is, therefore, affected by multiple vulnerabilities : - A cross-origin bypass issue exists in Extension bindings. No other details are available. (CVE-2016-1696) - A cross-origin bypass issue exists in Blink. No other details are available. (CVE-2016-1697) - An information disclosure vulnerability exists in Extension bindings. No other details are available. (CVE-2016-1698) - A flaw exists in DevTools due to a failure to sanitize a parameter. No other details are available. (CVE-2016-1699) - A use-after-free error exists in Extensions. No other details are available. (CVE-2016-1700) - A use-after-free error exists in Autofill. No other details are available. (CVE-2016-1701) - An out-of-bounds read error exists in Skia. No other details are available. (CVE-2016-1702) - Multiple unspecified issues exists that were found by internal auditing, fuzzing, etc. No other details are available. (CVE-2016-1703) last seen 2020-06-01 modified 2020-06-02 plugin id 91455 published 2016-06-03 reporter This script is Copyright (C) 2016-2019 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/91455 title Google Chrome < 51.0.2704.79 Multiple Vulnerabilities NASL family SuSE Local Security Checks NASL id OPENSUSE-2016-1489.NASL description Chromium was updated to 51.0.2704.79 to fix a number of security issues. [boo#982719] - CVE-2016-1696: Cross-origin bypass in Extension bindings - CVE-2016-1697: Cross-origin bypass in Blink - CVE-2016-1698: Information leak in Extension bindings - CVE-2016-1699: Parameter sanitization failure in DevTools - CVE-2016-1700: Use-after-free in Extensions - CVE-2016-1701: Use-after-free in Autofill - CVE-2016-1702: Out-of-bounds read in Skia - CVE-2016-1703: Various fixes from internal audits, fuzzing and other initiatives last seen 2020-06-05 modified 2016-06-07 plugin id 91492 published 2016-06-07 reporter This script is Copyright (C) 2016-2020 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/91492 title openSUSE Security Update : Chromium (openSUSE-2016-1489) NASL family SuSE Local Security Checks NASL id OPENSUSE-2016-682.NASL description Chromium was updated to 51.0.2704.79 to fix the following vulnerabilities : - CVE-2016-1696: Cross-origin bypass in Extension bindings - CVE-2016-1697: Cross-origin bypass in Blink - CVE-2016-1698: Information leak in Extension bindings - CVE-2016-1699: Parameter sanitization failure in DevTools - CVE-2016-1700: Use-after-free in Extensions - CVE-2016-1701: Use-after-free in Autofill - CVE-2016-1702: Out-of-bounds read in Skia - CVE-2016-1703: Various fixes from internal audits, fuzzing and other initiatives Also includes vulnerabilities fixed in 51.0.2704.63 (boo#981886) : - CVE-2016-1672: Cross-origin bypass in extension bindings - CVE-2016-1673: Cross-origin bypass in Blink - CVE-2016-1674: Cross-origin bypass in extensions - CVE-2016-1675: Cross-origin bypass in Blink - CVE-2016-1676: Cross-origin bypass in extension bindings - CVE-2016-1677: Type confusion in V8 - CVE-2016-1678: Heap overflow in V8 - CVE-2016-1679: Heap use-after-free in V8 bindings - CVE-2016-1680: Heap use-after-free in Skia - CVE-2016-1681: Heap overflow in PDFium - CVE-2016-1682: CSP bypass for ServiceWorker - CVE-2016-1683: Out-of-bounds access in libxslt - CVE-2016-1684: Integer overflow in libxslt - CVE-2016-1685: Out-of-bounds read in PDFium - CVE-2016-1686: Out-of-bounds read in PDFium - CVE-2016-1687: Information leak in extensions - CVE-2016-1688: Out-of-bounds read in V8 - CVE-2016-1689: Heap buffer overflow in media - CVE-2016-1690: Heap use-after-free in Autofill - CVE-2016-1691: Heap buffer-overflow in Skia - CVE-2016-1692: Limited cross-origin bypass in ServiceWorker - CVE-2016-1693: HTTP Download of Software Removal Tool - CVE-2016-1694: HPKP pins removed on cache clearance - CVE-2016-1695: Various fixes from internal audits, fuzzing and other initiatives last seen 2020-06-05 modified 2016-06-06 plugin id 91485 published 2016-06-06 reporter This script is Copyright (C) 2016-2020 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/91485 title openSUSE Security Update : Chromium (openSUSE-2016-682) NASL family Red Hat Local Security Checks NASL id REDHAT-RHSA-2016-1201.NASL description An update for chromium-browser is now available for Red Hat Enterprise Linux 6 Supplementary. Red Hat Product Security has rated this update as having a security impact of Important. A Common Vulnerability Scoring System (CVSS) base score, which gives a detailed severity rating, is available for each vulnerability from the CVE link(s) in the References section. Chromium is an open source web browser, powered by WebKit (Blink). This update upgrades Chromium to version 51.0.2704.79. Security Fix(es) : * Multiple flaws were found in the processing of malformed web content. A web page containing malicious content could cause Chromium to crash, execute arbitrary code, or disclose sensitive information when visited by the victim. (CVE-2016-1696, CVE-2016-1697, CVE-2016-1703, CVE-2016-1698, CVE-2016-1699, CVE-2016-1700, CVE-2016-1701, CVE-2016-1702) last seen 2020-05-31 modified 2016-06-03 plugin id 91449 published 2016-06-03 reporter This script is Copyright (C) 2016-2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/91449 title RHEL 6 : chromium-browser (RHSA-2016:1201) NASL family MacOS X Local Security Checks NASL id MACOSX_GOOGLE_CHROME_51_0_2704_79.NASL description The version of Google Chrome installed on the remote Mac OS X host is prior to 51.0.2704.79. It is, therefore, affected by multiple vulnerabilities : - A cross-origin bypass issue exists in Extension bindings. No other details are available. (CVE-2016-1696) - A cross-origin bypass issue exists in Blink. No other details are available. (CVE-2016-1697) - An information disclosure vulnerability exists in Extension bindings. No other details are available. (CVE-2016-1698) - A flaw exists in DevTools due to a failure to sanitize a parameter. No other details are available. (CVE-2016-1699) - A use-after-free error exists in Extensions. No other details are available. (CVE-2016-1700) - A use-after-free error exists in Autofill. No other details are available. (CVE-2016-1701) - An out-of-bounds read error exists in Skia. No other details are available. (CVE-2016-1702) - Multiple unspecified issues exists that were found by internal auditing, fuzzing, etc. No other details are available. (CVE-2016-1703) last seen 2020-06-01 modified 2020-06-02 plugin id 91456 published 2016-06-03 reporter This script is Copyright (C) 2016-2019 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/91456 title Google Chrome < 51.0.2704.79 Multiple Vulnerabilities (Mac OS X) NASL family FreeBSD Local Security Checks NASL id FREEBSD_PKG_C039A7612C2911E689123065EC8FD3EC.NASL description Google Chrome Releases reports : 15 security fixes in this release, including : - 601073] High CVE-2016-1696: Cross-origin bypass in Extension bindings. Credit to anonymous. - [613266] High CVE-2016-1697: Cross-origin bypass in Blink. Credit to Mariusz Mlynski. - [603725] Medium CVE-2016-1698: Information leak in Extension bindings. Credit to Rob Wu. - [607939] Medium CVE-2016-1699: Parameter sanitization failure in DevTools. Credit to Gregory Panakkal. - [608104] Medium CVE-2016-1700: Use-after-free in Extensions. Credit to Rob Wu. - [608101] Medium CVE-2016-1701: Use-after-free in Autofill. Credit to Rob Wu. - [609260] Medium CVE-2016-1702: Out-of-bounds read in Skia. Credit to cloudfuzzer. - [616539] CVE-2016-1703: Various fixes from internal audits, fuzzing and other initiatives. last seen 2020-06-01 modified 2020-06-02 plugin id 91491 published 2016-06-07 reporter This script is Copyright (C) 2016-2018 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/91491 title FreeBSD : chromium -- multiple vulnerabilities (c039a761-2c29-11e6-8912-3065ec8fd3ec)
Redhat
advisories |
| ||||
rpms |
|
Seebug
bulletinFamily | exploit |
description | #### VULNERABILITY DETAILS From /third_party/WebKit/Source/core/loader/FrameLoader.cpp: ``` void FrameLoader::startLoad(...) { ASSERT(client()->hasWebView()); if (m_frame->document()->pageDismissalEventBeingDispatched() != Document::NoDismissal) return; (...) m_frame->document()->cancelParsing(); detachDocumentLoader(m_provisionalDocumentLoader); // beforeunload fired above, and detaching a DocumentLoader can fire // events, which can detach this frame. if (!m_frame->host()) return; m_provisionalDocumentLoader = client()->createDocumentLoader(m_frame, request, (...)); (...) m_provisionalDocumentLoader->startLoadingMainResource(); (...) } ``` Detaching the provisional document loader can trigger load event handlers that may reenter FrameLoader::startLoad and attach a new provisional loader. After |detachDocumentLoader| returns, the pointer to the new loader is immediately overwritten. As a result, the abandoned loader will remain attached to the frame for the duration of its lifetime, which allows an attacker to escape from FrameLoader::prepareForCommit without the risk of canceling the load. #### VERSION Chrome 51.0.2704.54 (Beta) Chrome 52.0.2739.0 (Dev) Chromium 52.0.2742.0 (Release build compiled today) |
id | SSV:93003 |
last seen | 2017-11-19 |
modified | 2017-04-21 |
published | 2017-04-21 |
reporter | Root |
source | https://www.seebug.org/vuldb/ssvid-93003 |
title | Chrome Universal XSS via reentrancy in FrameLoader::startLoad (CVE-2016-1697) |
References
- http://googlechromereleases.blogspot.com/2016/06/stable-channel-update.html
- http://googlechromereleases.blogspot.com/2016/06/stable-channel-update.html
- http://lists.opensuse.org/opensuse-security-announce/2016-06/msg00003.html
- http://lists.opensuse.org/opensuse-security-announce/2016-06/msg00003.html
- http://lists.opensuse.org/opensuse-security-announce/2016-06/msg00004.html
- http://lists.opensuse.org/opensuse-security-announce/2016-06/msg00004.html
- http://lists.opensuse.org/opensuse-security-announce/2016-06/msg00005.html
- http://lists.opensuse.org/opensuse-security-announce/2016-06/msg00005.html
- http://www.debian.org/security/2016/dsa-3594
- http://www.debian.org/security/2016/dsa-3594
- http://www.securitytracker.com/id/1036026
- http://www.securitytracker.com/id/1036026
- http://www.ubuntu.com/usn/USN-2992-1
- http://www.ubuntu.com/usn/USN-2992-1
- https://access.redhat.com/errata/RHSA-2016:1201
- https://access.redhat.com/errata/RHSA-2016:1201
- https://codereview.chromium.org/2021373003
- https://codereview.chromium.org/2021373003
- https://crbug.com/613266
- https://crbug.com/613266