Skip to content

Commit f09599a

Browse files
committed
Documentation for CVE-2016-6580
1 parent fb0d814 commit f09599a

File tree

3 files changed

+84
-0
lines changed

3 files changed

+84
-0
lines changed

docs/source/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ Contents:
2323
installation
2424
using-priority
2525
api
26+
security/index
2627
license
2728
authors
2829

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
:orphan:
2+
3+
DoS via Unlimited Stream Insertion
4+
==================================
5+
6+
Hyper Project security advisory, August 4th 2016.
7+
8+
Vulnerability
9+
-------------
10+
11+
A HTTP/2 implementation built using the priority library could be targetted by
12+
a malicious peer by having that peer assign priority information for every
13+
possible HTTP/2 stream ID. The priority tree would happily continue to store
14+
the priority information for each stream, and would therefore allocate
15+
unbounded amounts of memory. Attempting to actually *use* a tree like this
16+
would also cause extremely high CPU usage to maintain the tree.
17+
18+
We are not aware of any active exploits of this vulnerability, but as this
19+
class of attack was publicly described in `this report`_, users should assume
20+
that they are at imminent risk of this kind of attack.
21+
22+
Info
23+
----
24+
25+
This issue has been given the name CVE-2016-6580.
26+
27+
Affected Versions
28+
-----------------
29+
30+
This issue affects all versions of the priority library prior to 1.2.0.
31+
32+
The Solution
33+
------------
34+
35+
In version 1.2.0, the priority library limits the maximum number of streams
36+
that can be inserted into the tree. By default this limit is 1000, but it is
37+
user-configurable.
38+
39+
If it is necessary to backport a patch, the patch can be found in
40+
`this GitHub pull request`_.
41+
42+
Recommendations
43+
---------------
44+
45+
We suggest you take the following actions immediately, in order of preference:
46+
47+
1. Update priority to 1.2.0 immediately, and consider revising the maximum
48+
number of streams downward to a suitable value for your application.
49+
2. Backport the patch made available on GitHub.
50+
3. Manually enforce a limit on the number of priority settings you'll allow at
51+
once.
52+
53+
Timeline
54+
--------
55+
56+
This class of vulnerability was publicly reported in `this report`_ on the
57+
3rd of August. We requested a CVE ID from Mitre the same day.
58+
59+
Priority 1.2.0 was released on the 4th of August, at the same time as the
60+
publication of this advisory.
61+
62+
63+
.. _this report: http://www.imperva.com/docs/Imperva_HII_HTTP2.pdf
64+
.. _this GitHub pull request: https://github.com/python-hyper/priority/pull/23

docs/source/security/index.rst

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
Vulnerability Notifications
2+
===========================
3+
4+
This section of the page contains all known vulnerabilities in the priority
5+
library. These vulnerabilities have all been reported to us via our
6+
`vulnerability disclosure policy`_.
7+
8+
Known Vulnerabilities
9+
---------------------
10+
11+
+----+---------------------------+----------------+---------------+--------------+---------------+
12+
| \# | Vulnerability | Date Announced | First Version | Last Version | CVE |
13+
+====+===========================+================+===============+==============+===============+
14+
| 1 | :doc:`DoS via unlimited | 2016-08-04 | 1.0.0 | 1.1.1 | CVE-2016-6580 |
15+
| | stream insertion. | | | | |
16+
| | <CVE-2016-6580>` | | | | |
17+
+----+---------------------------+----------------+---------------+--------------+---------------+
18+
19+
.. _vulnerability disclosure policy: http://python-hyper.org/en/latest/security.html#vulnerability-disclosure

0 commit comments

Comments
 (0)