Joe DeBlasio | 37f1c70 | 2020-04-06 18:21:33 | [diff] [blame] | 1 | # 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 | |
| 7 | We have several different classifications for security vulnerabilities that are |
| 8 | reported 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 | |
| 35 | User information disclosure, web platform privilege escalation and exploitation |
| 36 | mitigation bypasses exist on a continuum based on how harmful they are to users. |
| 37 | |
| 38 | ## What about rewards for Site Isolation? |
| 39 | |
| 40 | Site Isolation vulnerabilities are no longer receiving special rewards and will |
| 41 | be categorized and rewarded as Universal Cross-site Scripting vulnerabilities. |
| 42 | |
| 43 | [Site Isolation](https://www.chromium.org/Home/chromium-security/site-isolation) |
| 44 | makes it possible for sites (i.e., combination of scheme and eTLD+1) to run in |
| 45 | dedicated renderer processes. This can mitigate [speculative side channel |
| 46 | attacks](https://www.chromium.org/Home/chromium-security/ssca) as well as |
| 47 | attacks from compromised renderer processes. Site Isolation is enabled for all |
| 48 | sites on desktop platforms. On Android, Site Isolation is enabled for sites |
| 49 | where users enter passwords, but it does not yet mitigate compromised renderers. |
| 50 | |
| 51 | In 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 | |
| 62 | Out 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 | |
| 86 | Examples 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 Sesek | e4d979b | 2022-07-11 23:22:14 | [diff] [blame] | 92 | |
| 93 | ## When will a CVE number be issued for a security bug? |
| 94 | |
| 95 | A CVE number will be assigned to a security issue just prior to the fix being |
| 96 | released to the Chrome stable channel. For more information see [Life of a |
| 97 | Security Issue](life-of-a-security-issue.md). |