]> git.proxmox.com Git - ovs.git/blame - SECURITY.md
ovn: Add ovn-bridge-mappings to Chassis external_ids.
[ovs.git] / SECURITY.md
CommitLineData
f0664242
BP
1Security Process
2================
3
4This is a proposed security vulnerability reporting and handling
5process for Open vSwitch. It is based on the OpenStack vulnerability
6management process described at
7https://wiki.openstack.org/wiki/Vulnerability_Management.
8
9The OVS security team coordinates vulnerability management using the
10ovs-security mailing list. Membership in the security team and
11subscription to its mailing list consists of a small number of
12trustworthy people, as determined by rough consensus of the Open
13vSwitch committers on the ovs-committers mailing list. The Open
14vSwitch security team should include Open vSwitch committers, to
15ensure prompt and accurate vulnerability assessments and patch review.
16
17We encourage everyone involved in the security process to GPG-sign
18their emails. We additionally encourage GPG-encrypting one-on-one
19conversations as part of the security process.
20
21
22What is a vulnerability?
23------------------------
24
25All vulnerabilities are bugs, but not every bug is a vulnerability.
b13bfc3c
AK
26Vulnerabilities compromise one or more of:
27
28 * Confidentiality (personal or corporate confidential data).
29 * Integrity (trustworthiness and correctness).
30 * Availability (uptime and service).
31
f0664242
BP
32Here are some examples of vulnerabilities to which one would expect to
33apply this process:
34
b13bfc3c
AK
35 * A crafted packet that causes a kernel or userspace crash
36 (Availability).
f0664242
BP
37
38 * A flow translation bug that misforwards traffic in a way likely
b13bfc3c 39 to hop over security boundaries (Integrity).
f0664242
BP
40
41 * An OpenFlow protocol bug that allows a controller to read
b13bfc3c 42 arbitrary files from the file system (Confidentiality).
f0664242
BP
43
44 * Misuse of the OpenSSL library that allows bypassing certificate
b13bfc3c 45 checks (Integrity).
f0664242
BP
46
47 * A bug (memory corruption, overflow, ...) that allows one to
48 modify the behaviour of OVS through external configuration
b13bfc3c 49 interfaces such as OVSDB (Integrity).
f0664242 50
b13bfc3c
AK
51 * Privileged information is exposed to unprivileged users
52 (Confidentiality).
f0664242
BP
53
54If in doubt, please do use the vulnerability management process. At
55worst, the response will be to report the bug through the usual
56channels.
57
58
59Step 1: Reception
60-----------------
61
62To report an Open vSwitch vulnerability, send an email to the
63ovs-security mailing list (see "Contact" at the end of this document).
64A security team member should reply to the reporter acknowledging that
65the report has been received.
66
67Please consider reporting the information mentioned in
68REPORTING-BUGS.md, where relevant.
69
b13bfc3c
AK
70Reporters may ask for a GPG key while initiating contact with the
71security team to deliver more sensitive reports.
72
f0664242
BP
73The Linux kernel has its own vulnerability management process:
74https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/SecurityBugs
75Handling of vulnerabilities that affect both the Open vSwitch tree and
76the upstream Linux kernel should be reported through both processes.
77Please send your report as a single email to both the kernel and OVS
78security teams to allow those teams to most easily coordinate among
79themselves.
80
81
82Step 2: Assessment
83------------------
84
85The security team should discuss the vulnerability. The reporter
86should be included in the discussion (via "CC") to an appropriate
87degree.
88
89The assessment should determine which Open vSwitch versions are
90affected (e.g. every version, only the latest release, only unreleased
91versions), the privilege required to take advantage of the
92vulnerability (e.g. any network user, any local L2 network user, any
93local system user, connected OpenFlow controllers), the severity of
94the vulnerability, and how the vulnerability may be mitigated (e.g. by
95disabling a feature).
96
97The treatment of the vulnerability could end here if the team
98determines that it is not a realistic vulnerability.
99
100
101Step 3a: Document
102----------------
103
104The security team develops a security advisory document. The document
105credits the reporter and describes the vulnerability, including all of
106the relevant information from the assessment in step 2. The security
107team may, at its discretion, include the reporter (via "CC") in
108developing the security advisory document, but in any case should
109accept feedback from the reporter before finalizing the document.
110
111When the document is final, the security team should obtain a CVE for
112the vulnerability from a CNA (https://cve.mitre.org/cve/cna.html).
113
114
115Step 3b: Fix
116------------
117
118Steps 3a and 3b may proceed in parallel.
119
120The security team develops and obtains (private) reviews for patches
121that fix the vulnerability. If necessary, the security team pulls in
bb6c5fad 122additional developers, who must agree to maintain confidentiality.
f0664242
BP
123
124
125Step 4: Embargoed Disclosure
126----------------------------
127
128The security advisory and patches are sent to downstream stakeholders,
48beaa85
FL
129with an embargo date and time set from the time sent. Downstream
130stakeholders are expected not to deploy or disclose patches until
131the embargo is passed.
132
133A disclosure date is negotiated by the security team working with the
134bug submitter as well as vendors. However, the Open vSwitch security
135team holds the final say when setting a disclosure date. The timeframe
136for disclosure is from immediate (esp. if it's already publicly known)
137to a few weeks. As a basic default policy, we expect report date to
138disclosure date to be 3~5 business days.
f0664242
BP
139
140Operating system vendors are obvious downstream stakeholders. It may
141not be necessary to be too choosy about who to include: any major Open
142vSwitch user who is interested and can be considered trustworthy
143enough could be included. To become a downstream stakeholder, email
144the ovs-security mailing list.
145
b13bfc3c 146If the vulnerability is already public, skip this step.
f0664242
BP
147
148
b13bfc3c
AK
149Step 5: Public Disclosure
150-------------------------
f0664242
BP
151
152When the embargo expires, push the (reviewed) patches to appropriate
153branches, post the patches to the ovs-dev mailing list (noting that
154they have already been reviewed and applied), post the security
155advisory to appropriate mailing lists (ovs-announce, ovs-discuss), and
156post the security advisory on the Open vSwitch webpage.
157
bc57376a
FL
158When the patch is applied to LTS (long-term support) branches, a new
159version should be released.
160
f0664242
BP
161The security advisory should be GPG-signed by a security team member
162with a key that is in a public web of trust.
163
164
b13bfc3c 165Contact
f0664242
BP
166=======
167
168Report security vulnerabilities to the ovs-security mailing list:
169security@openvswitch.org
170
171Report problems with this document to the ovs-bugs mailing list:
172bugs@openvswitch.org
173
174Visit http://openvswitch.org/ to learn more about Open vSwitch.