blob: 058133a87e4eeecb24b7e7d3972e10f1836a71ac [file] [log] [blame] [view]
Varun Khanejadf1bc00e2017-08-10 05:22:401# Severity Guidelines for Security Issues
2
3[TOC]
4
5Vendors shipping products based on Chromium might wish to rate the severity of
6security issues in the products they release. This document contains guidelines
7for how to rate these issues. Check out our
8[security release management page](https://www.chromium.org/Home/chromium-security/security-release-management)
9for guidance on how to release fixes based on severity.
10
11Any significant mitigating factors, such as unusual or additional user
12interaction, or running Chrome with a specific command line flag or non-default
Adrian Taylor44dbdc82020-01-07 01:49:1913feature enabled, may reduce an issues severity by one or more levels.
14
15Conversely, we do not consider it a mitigating factor if a vulnerability applies
16only to a particular group of users. For instance, a Critical vulnerability is
17still considered Critical even if it applies only to Linux or to those users
18running with accessibility features enabled.
19
20Also note that most crashes do not indicate vulnerabilities. Chromium is designed
21to crash in a controlled manner (e.g., with a ```__debugBreak```) when memory is
Varun Khanejadf1bc00e2017-08-10 05:22:4022exhausted or in other exceptional circumstances.
23
24
Chris Palmer32301112019-02-06 00:02:5625## Critical severity {#TOC-Critical-severity}
Varun Khanejadf1bc00e2017-08-10 05:22:4026
Chris Palmer5c330772019-05-24 23:32:4327Critical severity issues allow an attacker to read or write arbitrary resources
28(including but not limited to the file system, registry, network, et c.) on the
29underlying platform, with the user's full privileges.
Varun Khanejadf1bc00e2017-08-10 05:22:4030
31They are normally assigned priority **Pri-0** and assigned to the current stable
32milestone (or earliest milestone affected). For critical severity bugs,
33[SheriffBot](https://www.chromium.org/issue-tracking/autotriage) will
34automatically assign the milestone.
35
Chris Palmer91bab482019-07-17 00:05:3636**For critical severity vulnerabilities, we aim to deploy the patch to all
37Chrome users in under 30 days.**
Varun Khanejadf1bc00e2017-08-10 05:22:4038
39Critical vulnerability details may be made public in 60 days,
40in accordance with Google's general [vulnerability disclosure recommendations](https://security.googleblog.com/2010/07/rebooting-responsible-disclosure-focus.html),
41or [faster (7 days)](https://security.googleblog.com/2013/05/disclosure-timeline-for-vulnerabilities.html)
42if there is evidence of active exploitation.
43
44Example bugs:
45
Daniel Cheng62a44a82019-09-09 22:15:3646* Memory corruption in the browser process ([319125](https://crbug.com/319125#c10)).
Varun Khanejadf1bc00e2017-08-10 05:22:4047* Exploit chains made up of multiple bugs that can lead to code execution
Chris Palmer5c330772019-05-24 23:32:4348 outside of the sandbox ([416449](https://crbug.com/416449)).
49* A bug that enables web content to read local files
50 ([962500](https://crbug.com/962500)).
Varun Khanejadf1bc00e2017-08-10 05:22:4051
52Note that the individual bugs that make up the chain will have lower severity
53ratings.
54
55
Chris Palmer32301112019-02-06 00:02:5656## High severity {#TOC-High-severity}
Varun Khanejadf1bc00e2017-08-10 05:22:4057
58High severity vulnerabilities allow an attacker to execute code in the context
Lukasz Anforowiczcb7b5142019-07-19 23:40:1659of, or otherwise impersonate other origins or read cross-origin data.
60Bugs which would normally be
Varun Khanejadf1bc00e2017-08-10 05:22:4061critical severity with unusual mitigating factors may be rated as high severity.
62For example, renderer sandbox escapes fall into this category as their impact is
63that of a critical severity bug, but they require the precondition of a
64compromised renderer.
65
66They are normally assigned priority **Pri-1** and assigned to the current stable
67milestone (or earliest milestone affected). For high severity bugs,
68[SheriffBot](https://www.chromium.org/issue-tracking/autotriage) will
69automatically assign the milestone.
70
Chris Palmer91bab482019-07-17 00:05:3671**For high severity vulnerabilities, we aim to deploy the patch to all Chrome
72users in under 60 days.**
Varun Khanejadf1bc00e2017-08-10 05:22:4073
74Example bugs:
75
76* A bug that allows full circumvention of the same origin policy. Universal XSS
77bugs fall into this category, as they allow script execution in the context of
78an arbitrary origin ([534923](https://crbug.com/534923)).
79* A bug that allows arbitrary code execution within the confines of the sandbox,
80such as renderer or GPU process memory corruption
81([570427](https://crbug.com/570427), [468936](https://crbug.com/468936)).
82* Complete control over the apparent origin in the omnibox
83([76666](https://crbug.com/76666)).
84* Memory corruption in the browser process that can only be triggered from a
85compromised renderer, leading to a sandbox escape
86([469152](https://crbug.com/469152)).
87* Kernel memory corruption that could be used as a sandbox escape from a
88compromised renderer ([377392](https://crbug.com/377392)).
89* Memory corruption in the browser process that requires specific user
90interaction, such as granting a permission ([455735](https://crbug.com/455735)).
Lukasz Anforowicz33b14352019-09-20 21:57:5891* Site Isolation bypasses:
92 - Cross-site execution contexts unexpectedly sharing a renderer process
93 ([863069](https://crbug.com/863069), [886976](https://crbug.com/886976)).
94 - Cross-site data disclosure
95 ([917668](https://crbug.com/917668), [927849](https://crbug.com/927849)).
Varun Khanejadf1bc00e2017-08-10 05:22:4096
97
Chris Palmer32301112019-02-06 00:02:5698## Medium severity {#TOC-Medium-severity}
Varun Khanejadf1bc00e2017-08-10 05:22:4099
100Medium severity bugs allow attackers to read or modify limited amounts of
101information, or are not harmful on their own but potentially harmful when
102combined with other bugs. This includes information leaks that could be useful
103in potential memory corruption exploits, or exposure of sensitive user
Chris Palmer91bab482019-07-17 00:05:36104information that an attacker can exfiltrate. Bugs that would normally be rated
105at a higher severity level with unusual mitigating factors may be rated as
106medium severity.
Varun Khanejadf1bc00e2017-08-10 05:22:40107
108They are normally assigned priority **Pri-1** and assigned to the current stable
109milestone (or earliest milestone affected). If the fix seems too complicated to
110merge to the current stable milestone, they may be assigned to the next stable
111milestone.
112
113Example bugs:
114
115* An out-of-bounds read in a renderer process
116([281480](https://crbug.com/281480)).
117* An uninitialized memory read in the browser process where the values are
118passed to a compromised renderer via IPC ([469151](https://crbug.com/469151)).
119* Memory corruption that requires a specific extension to be installed
120([313743](https://crbug.com/313743)).
121* An HSTS bypass ([461481](https://crbug.com/461481)).
122* A bypass of the same origin policy for pages that meet several preconditions
123([419383](https://crbug.com/419383)).
124* A bug that allows web content to tamper with trusted browser UI
125([550047](https://crbug.com/550047)).
126* A bug that reduces the effectiveness of the sandbox
127([338538](https://crbug.com/338538)).
128* A bug that allows arbitrary pages to bypass security interstitials
129([540949](https://crbug.com/540949)).
130* A bug that allows an attacker to reliably read or infer browsing history
131([381808](https://crbug.com/381808)).
132* An address bar spoof where only certain URLs can be displayed, or with other
133mitigating factors ([265221](https://crbug.com/265221)).
134* Memory corruption in a renderer process that requires specific user
135interaction, such as dragging an object ([303772](https://crbug.com/303772)).
136
137
Chris Palmer32301112019-02-06 00:02:56138## Low severity {#TOC-Low-severity}
Varun Khanejadf1bc00e2017-08-10 05:22:40139
140Low severity vulnerabilities are usually bugs that would normally be a higher
141severity, but which have extreme mitigating factors or highly limited scope.
142
143They are normally assigned priority **Pri-2**. Milestones can be assigned to low
144severity bugs on a case-by-case basis, but they are not normally merged to
145stable or beta branches.
146
147Example bugs:
148
149* Bypass requirement for a user gesture ([256057](https://crbug.com/256057)).
150* Partial CSP bypass ([534570](https://crbug.com/534570)).
151* A limited extension permission bypass ([169632](https://crbug.com/169632)).
152* An uncontrolled single-byte out-of-bounds read
153([128163](https://crbug.com/128163)).
154
Adrian Taylorb3f73122020-04-30 00:56:14155
156## Not a security bug {#TOC-Not-a-security-bug}
157
Varun Khanejadf1bc00e2017-08-10 05:22:40158The [security FAQ](faq.md) covers many of the cases that we do not consider to
Adrian Taylorb3f73122020-04-30 00:56:14159be security bugs, such as [denial of service](faq.md#TOC-Are-denial-of-service-issues-considered-security-bugs-)
160and, in particular, null pointer dereferences with consistent fixed offsets.