Skip to content

Commit bd5e61f

Browse files
committed
SECURITY.md: Add advisory document details.
Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Ryan Moats <rmoats@us.ibm.com> Acked-by: Justin Pettit <jpettit@ovn.org>
1 parent 4250ee3 commit bd5e61f

1 file changed

Lines changed: 100 additions & 4 deletions

File tree

SECURITY.md

Lines changed: 100 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,16 +101,112 @@ determines that it is not a realistic vulnerability.
101101
Step 3a: Document
102102
----------------
103103

104-
The security team develops a security advisory document. The document
105-
credits the reporter and describes the vulnerability, including all of
106-
the relevant information from the assessment in step 2. The security
104+
The security team develops a security advisory document. The security
107105
team may, at its discretion, include the reporter (via "CC") in
108106
developing the security advisory document, but in any case should
109107
accept feedback from the reporter before finalizing the document.
110-
111108
When the document is final, the security team should obtain a CVE for
112109
the vulnerability from a CNA (https://cve.mitre.org/cve/cna.html).
113110

111+
The document credits the reporter and describes the vulnerability,
112+
including all of the relevant information from the assessment in step
113+
2. Suitable sections for the document include:
114+
115+
* Title: The CVE identifier, a short description of the
116+
vulnerability. The title should mention Open vSwitch.
117+
118+
In email, the title becomes the subject. Pre-release advisories
119+
are often passed around in encrypted email, which have plaintext
120+
subjects, so the title should not be too specific.
121+
122+
* Description: A few paragraphs describing the general
123+
characteristics of the vulnerability, including the versions of
124+
Open vSwitch that are vulnerable, the kind of attack that
125+
exposes the vulnerability, and potential consequences of the
126+
attack.
127+
128+
The description should re-state the CVE identifier, in case the
129+
subject is lost when an advisory is sent over email.
130+
131+
* Mitigation: How an Open vSwitch administrator can minimize the
132+
potential for exploitation of the vulnerability, before applying
133+
a fix. If no mitigation is possible or recommended, explain
134+
why, to reduce the chance that at-risk users believe they are
135+
not at risk.
136+
137+
* Fix: Describe how to fix the vulnerability, perhaps in terms of
138+
applying a source patch. The patch or patches themselves, if
139+
included in the email, should be at the very end of the advisory
140+
to reduce the risk that a reader would stop reading at this
141+
point.
142+
143+
* Recommendation: A concise description of the security team's
144+
recommendation to users.
145+
146+
* Acknowledgments: Thank the reporters.
147+
148+
* Vulnerability Check: A step-by-step procedure by which a user
149+
can determine whether an installed copy of Open vSwitch is
150+
vulnerable.
151+
152+
The procedure should clearly describe how to interpret the
153+
results, including expected results in vulnerable and
154+
not-vulnerable cases. Thus, procedures that produce clear and
155+
easily distinguished results are preferred.
156+
157+
The procedure should assume as little understanding of Open
158+
vSwitch as possible, to make it more likely that a competent
159+
administrator who does not specialize in Open vSwitch can
160+
perform it successfully.
161+
162+
The procedure should have minimal dependencies on tools that are
163+
not widely installed.
164+
165+
Given a choice, the procedure should be one that takes at least
166+
some work to turn into a useful exploit. For example, a
167+
procedure based on "ovs-appctl" commands, which require local
168+
administrator access, is preferred to one that sends test
169+
packets to a machine, which only requires network connectivity.
170+
171+
The section should say which operating systems it is designed
172+
for. If the procedure is likely to be specific to particular
173+
architectures (e.g. x86-64, i386), it should state on which ones
174+
it has been tested.
175+
176+
This section should state the risks of the procedure. For
177+
example, if it can crash Open vSwitch or disrupt packet
178+
forwarding, say so.
179+
180+
It is more useful to explain how to check an installed and
181+
running Open vSwitch than one built locally from source, but if
182+
it is easy to use the procedure from a sandbox environment, it
183+
can be helpful to explain how to do so.
184+
185+
* Patch: If a patch or patches are available, and it is practical
186+
to include them in the email, put them at the end. Format them
187+
as described in CONTRIBUTING.md, that is, as output by "git
188+
format-patch".
189+
190+
The patch subjects should include the version for which they are
191+
suited, e.g. "[PATCH branch-2.3]" for a patch against Open
192+
vSwitch 2.3.x. If there are multiple patches for multiple
193+
versions of Open vSwitch, put them in separate sections with
194+
clear titles.
195+
196+
Multiple patches for a single version of Open vSwitch, that must
197+
be stacked on top of each other to fix a single vulnerability,
198+
are undesirable because users are less likely to apply all of
199+
them correctly and in the correct order.
200+
201+
Each patch should include a Vulnerability tag with the CVE
202+
identifier, a Reported-by tag or tags to credit the reporters,
203+
and a Signed-off-by tag to acknowledge the Developer's
204+
Certificate of Origin. It should also include other appropriate
205+
tags, such as Acked-by tags obtained during review.
206+
207+
CVE-2016-2074 is an example advisory document, available at:
208+
http://openvswitch.org/pipermail/announce/2016-March/000082.html
209+
114210

115211
Step 3b: Fix
116212
------------

0 commit comments

Comments
 (0)