blob: d718441c80421bf42bf17de8cddb29c40a86caf6 [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
13feature enabled, may reduce an issues severity by one or more levels. Also note
14that most crashes do not indicate vulnerabilities. Chromium is designed to crash
15in a controlled manner (e.g., with a ```__debugBreak```) when memory is
16exhausted or in other exceptional circumstances.
17
18
Chris Palmer32301112019-02-06 00:02:5619## Critical severity {#TOC-Critical-severity}
Varun Khanejadf1bc00e2017-08-10 05:22:4020
21Critical severity issues allow an attacker run arbitrary code on the underlying
Eric Lawrencee410b0b2017-12-11 19:32:0722platform with the user's privileges.
Varun Khanejadf1bc00e2017-08-10 05:22:4023
24They are normally assigned priority **Pri-0** and assigned to the current stable
25milestone (or earliest milestone affected). For critical severity bugs,
26[SheriffBot](https://www.chromium.org/issue-tracking/autotriage) will
27automatically assign the milestone.
28
29#### For critical vulnerabilities, we aim to deploy the patch to all Chrome users in under 30 days.
30
31Critical vulnerability details may be made public in 60 days,
32in accordance with Google's general [vulnerability disclosure recommendations](https://security.googleblog.com/2010/07/rebooting-responsible-disclosure-focus.html),
33or [faster (7 days)](https://security.googleblog.com/2013/05/disclosure-timeline-for-vulnerabilities.html)
34if there is evidence of active exploitation.
35
36Example bugs:
37
Eric Lawrencee410b0b2017-12-11 19:32:0738* Memory corruption in the browser process ([564501](https://crbug.com/564501)).
Varun Khanejadf1bc00e2017-08-10 05:22:4039* Exploit chains made up of multiple bugs that can lead to code execution
40outside of the sandbox ([416449](https://crbug.com/416449)).
41
42Note that the individual bugs that make up the chain will have lower severity
43ratings.
44
45
Chris Palmer32301112019-02-06 00:02:5646## High severity {#TOC-High-severity}
Varun Khanejadf1bc00e2017-08-10 05:22:4047
48High severity vulnerabilities allow an attacker to execute code in the context
49of, or otherwise impersonate other origins. Bugs which would normally be
50critical severity with unusual mitigating factors may be rated as high severity.
51For example, renderer sandbox escapes fall into this category as their impact is
52that of a critical severity bug, but they require the precondition of a
53compromised renderer.
54
55They are normally assigned priority **Pri-1** and assigned to the current stable
56milestone (or earliest milestone affected). For high severity bugs,
57[SheriffBot](https://www.chromium.org/issue-tracking/autotriage) will
58automatically assign the milestone.
59
60For high severity vulnerabilities, we aim to deploy the patch to all Chrome
61users in under 60 days.
62
63Example bugs:
64
65* A bug that allows full circumvention of the same origin policy. Universal XSS
66bugs fall into this category, as they allow script execution in the context of
67an arbitrary origin ([534923](https://crbug.com/534923)).
68* A bug that allows arbitrary code execution within the confines of the sandbox,
69such as renderer or GPU process memory corruption
70([570427](https://crbug.com/570427), [468936](https://crbug.com/468936)).
71* Complete control over the apparent origin in the omnibox
72([76666](https://crbug.com/76666)).
73* Memory corruption in the browser process that can only be triggered from a
74compromised renderer, leading to a sandbox escape
75([469152](https://crbug.com/469152)).
76* Kernel memory corruption that could be used as a sandbox escape from a
77compromised renderer ([377392](https://crbug.com/377392)).
78* Memory corruption in the browser process that requires specific user
79interaction, such as granting a permission ([455735](https://crbug.com/455735)).
80
81
Chris Palmer32301112019-02-06 00:02:5682## Medium severity {#TOC-Medium-severity}
Varun Khanejadf1bc00e2017-08-10 05:22:4083
84Medium severity bugs allow attackers to read or modify limited amounts of
85information, or are not harmful on their own but potentially harmful when
86combined with other bugs. This includes information leaks that could be useful
87in potential memory corruption exploits, or exposure of sensitive user
88information that an attacker can exfiltrate. Bugs that would normally rated at a
89higher severity level with unusual mitigating factors may be rated as medium
90severity.
91
92They are normally assigned priority **Pri-1** and assigned to the current stable
93milestone (or earliest milestone affected). If the fix seems too complicated to
94merge to the current stable milestone, they may be assigned to the next stable
95milestone.
96
97Example bugs:
98
99* An out-of-bounds read in a renderer process
100([281480](https://crbug.com/281480)).
101* An uninitialized memory read in the browser process where the values are
102passed to a compromised renderer via IPC ([469151](https://crbug.com/469151)).
103* Memory corruption that requires a specific extension to be installed
104([313743](https://crbug.com/313743)).
105* An HSTS bypass ([461481](https://crbug.com/461481)).
106* A bypass of the same origin policy for pages that meet several preconditions
107([419383](https://crbug.com/419383)).
108* A bug that allows web content to tamper with trusted browser UI
109([550047](https://crbug.com/550047)).
110* A bug that reduces the effectiveness of the sandbox
111([338538](https://crbug.com/338538)).
112* A bug that allows arbitrary pages to bypass security interstitials
113([540949](https://crbug.com/540949)).
114* A bug that allows an attacker to reliably read or infer browsing history
115([381808](https://crbug.com/381808)).
116* An address bar spoof where only certain URLs can be displayed, or with other
117mitigating factors ([265221](https://crbug.com/265221)).
118* Memory corruption in a renderer process that requires specific user
119interaction, such as dragging an object ([303772](https://crbug.com/303772)).
120
121
Chris Palmer32301112019-02-06 00:02:56122## Low severity {#TOC-Low-severity}
Varun Khanejadf1bc00e2017-08-10 05:22:40123
124Low severity vulnerabilities are usually bugs that would normally be a higher
125severity, but which have extreme mitigating factors or highly limited scope.
126
127They are normally assigned priority **Pri-2**. Milestones can be assigned to low
128severity bugs on a case-by-case basis, but they are not normally merged to
129stable or beta branches.
130
131Example bugs:
132
133* Bypass requirement for a user gesture ([256057](https://crbug.com/256057)).
134* Partial CSP bypass ([534570](https://crbug.com/534570)).
135* A limited extension permission bypass ([169632](https://crbug.com/169632)).
136* An uncontrolled single-byte out-of-bounds read
137([128163](https://crbug.com/128163)).
138
139The [security FAQ](faq.md) covers many of the cases that we do not consider to
140be security bugs, such as [denial of service](faq.md#TOC-Are-denial-of-service-issues-considered-security-bugs-).
141