CVE-2016-6580: HTTP/2 Implementation in Python priority Library Prior to 1.2.0
Summary
CVE-2016-6580: A HTTP/2 implementation built using any version of the Python priority library prior to version 1.2.0 could be targeted by a malicious peer by having that peer assign priority information for every possible HTTP/2 stream... Affects priority versions < 1.2.0. Fixed in 1.2.0. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
The Python priority library is used for implementing HTTP/2 functionality. It provides a priority tree that stores priority information for each HTTP/2 stream. However, prior to version 1.2.0, the library is vulnerable to a malicious peer assigning priority information for every possible stream ID. This vulnerability can lead to unbounded memory allocation and high CPU usage.
Vulnerability Detail
The vulnerability arises from the priority tree's inability to handle the assignment of priority information for every stream ID. A malicious peer can exploit this by assigning priority information to exhaust memory resources and cause high CPU usage. The impact of this vulnerability includes potential denial of service (DoS) attacks and degradation of system performance.
How To Fix
Minimum fixed version
1.2.0
This is the first release that contains the fix.
pip install --upgrade "priority==1.2.0"
Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →
Workaround
There is no specific workaround mentioned for this vulnerability.
Conclusion
The Python priority library prior to version 1.2.0 is vulnerable to a HTTP/2 implementation issue that can result in unbounded memory allocation and high CPU usage. To mitigate this vulnerability, it is crucial to update the library to version 1.2.0 or later. For further support on vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for priority →
FAQ
The vulnerability can lead to potential denial of service (DoS) attacks and degradation of system performance due to unbounded memory allocation and high CPU usage.
You can use Vulert's playground at Vulert Scanner to check if your application is affected by this vulnerability. Vulert monitors and alerts in real-time for open-source vulnerabilities without requiring access to the code or installation.
Yes, the vulnerability can be fixed by updating the Python priority library to version 1.2.0 or later.
Specific known exploits for this vulnerability are not mentioned in the provided information.
More information about this vulnerability can be found in the Python Package Index (PyPI) advisory database at https://github.com/pypa/advisory-database/blob/main/vulns/priority/PYSEC-2017-93.yaml