blob: 2505a890633254c1b31235d8bd2bbaf7c9856052 [file] [log] [blame] [view]
Joe DeBlasio37f1c702020-04-06 18:21:331# Chrome Vulnerability Reward Program FAQ
2
3[TOC]
4
5## What are the differences between the vulnerability [categories](https://www.google.com/about/appsecurity/chrome-rewards/index.html#rewards) in the Chrome VRP?
6
7We have several different classifications for security vulnerabilities that are
8reported to us. More information about each category can be found below:
9
10 * **Sandbox escape / Memory corruption in a non-sandboxed process**: a bug that
11 allows malicious code to execute in a non-sandboxed process (like the browser
12 process), or to circumvent the protections of the sandbox. (ex:
13 https://crbug.com/1025067)
14 * **Universal Cross Site Scripting (includes Site Isolation bypass)**: a flaw
15 allowing an attacker to execute script in the context of any other origin,
16 similar to how Cross Site Scripting can be leveraged against insecure
17 websites. (ex: https://crbug.com/997190)
18 * **Renderer RCE / memory corruption in a sandboxed process**: a bug that
19 allows malicious code to be executed inside a renderer or other sandboxed
20 process. (ex: https://crbug.com/990897)
21 * **Security UI Spoofing**: a situation in which an attacker gains an
22 illegitimate advantage on a user interface surface. In Chrome this includes
23 spoofing the displayed URL or creating fake permission prompts outside of the
24 frame containing the site. (ex: https://crbug.com/1017564)
25 * **User information disclosure**: unauthorized access to information that
26 should be inaccessible to an attacker. (ex: https://crbug.com/989078)
27 * **Web Platform Privilege Escalation**: a bug that allows a site to obtain a
28 permission or capability that was not granted by a user, such as escaping an
29 iframe sandbox or bypassing cross-origin checks.
30 * **Exploitation Mitigation Bypass**: a bug which makes exploitation easier,
31 such as an out of bounds read in a sandboxed process, or which bypasses
32 security checks in Chrome. (ex: https://crbug.com/1021457,
33 https://crbug.com/979441)
34
35User information disclosure, web platform privilege escalation and exploitation
36mitigation bypasses exist on a continuum based on how harmful they are to users.
37
38## What about rewards for Site Isolation?
39
40Site Isolation vulnerabilities are no longer receiving special rewards and will
41be categorized and rewarded as Universal Cross-site Scripting vulnerabilities.
42
43[Site Isolation](https://www.chromium.org/Home/chromium-security/site-isolation)
44makes it possible for sites (i.e., combination of scheme and eTLD+1) to run in
45dedicated renderer processes. This can mitigate [speculative side channel
46attacks](https://www.chromium.org/Home/chromium-security/ssca) as well as
47attacks from compromised renderer processes. Site Isolation is enabled for all
48sites on desktop platforms. On Android, Site Isolation is enabled for sites
49where users enter passwords, but it does not yet mitigate compromised renderers.
50
51In scope:
52
53 * Bugs that cause two or more cross-site documents from the web to commit in
54 the same process. i.e. force pre-Site Isolation behaviour.
55 * Bugs that cause cross-site data disclosure, even if the bug assumes a
56 compromised renderer. Examples of data protected by Site Isolation: cookies,
57 saved passwords, localStorage, IndexedDB, HTTP resources covered by
58 [CORB](https://www.chromium.org/Home/chromium-security/corb-for-developers)
59 or
60 [CORP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cross-Origin_Resource_Policy_(CORP)).
61
62Out of scope and known issues:
63
64 * Site Isolation on Android is not enabled for all sites or devices. Reports
65 should work when Site Isolation is enabled for the victim site (e.g., when
66 the victim site is specified in `chrome://flags/#isolate-origins`).
67 * Compromised renderers are currently out of scope for Site Isolation on
68 Android reports.
69 * Sandboxed frames and data: URLs are currently treated as the same site as
70 their creator.
71 * CORB is not enforced for the Flash plugin, which is disabled by default and
72 will be removed. CORB is also not enforced for a small set of [allowlisted
73 extensions](https://www.chromium.org/Home/chromium-security/extension-content-script-fetches),
74 until these extensions have a chance to update to the new security model.
75 * Compromised renderers can still spoof other sites (e.g., spoof Origin headers
76 or Sec-Fetch-Site headers).
77 * Timing attacks and cross-site-search attacks are out of scope and may need to
78 be mitigated by robust server-side CSRF protection.
79 * Problems in websites (e.g. missing CORB protection because of incorrect
80 Content-Type header) or
81 [extensions](https://groups.google.com/a/chromium.org/d/topic/chromium-extensions/0ei-UCHNm34/discussion)
82 (e.g., privilege escalation via messages from a compromised content script)
83 are out of scope of the Chrome VRP, but may be covered by a separate
84 website-specific or extension-specific VRP.
85
86Examples of in-scope Site Isolation issues:
87
88 * Unexpected process sharing: https://crbug.com/863069
89 * Cross-Origin Read Blocking (CORB) bypass: https://crbug.com/927849
90 * Disclosing IndexedDB data to a cross-site renderer process:
91 https://crbug.com/917668
Robert Seseke4d979b2022-07-11 23:22:1492
93## When will a CVE number be issued for a security bug?
94
95A CVE number will be assigned to a security issue just prior to the fix being
96released to the Chrome stable channel. For more information see [Life of a
97Security Issue](life-of-a-security-issue.md).