Snyk has a proof-of-concept or detailed explanation of how to exploit this vulnerability.
The probability is the direct output of the EPSS model, and conveys an overall sense of the threat of exploitation in the wild. The percentile measures the EPSS probability relative to all known EPSS scores. Note: This data is updated daily, relying on the latest available EPSS model version. Check out the EPSS documentation for more details.
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applicationsUpgrade pyasn1 to version 0.6.5 or higher.
Affected versions of this package are vulnerable to Inefficient Algorithmic Complexity in the BitStringPayloadDecoder class in pyasn1/codec/ber/decoder.py. An attacker can exhaust CPU during a decode() call by supplying a constructed BIT STRING with many fragments, because each fragment calls BitString.fromOctetString(..., prepend=bitString), which re-shifts and copies the entire value accumulated so far. Exploitation requires untrusted ASN.1 input to reach the decoder with no upstream input-size limit, and affects BER and CER decoding with or without an asn1Spec, while DER is affected only in schema-driven decoding (with asn1Spec) and only for definite-length constructed BIT STRINGs, which are not valid DER.
This vulnerability can be avoided by enforcing an application-appropriate size limit on untrusted ASN.1 input before passing it to the decoder, and, where the protocol forbids constructed BIT STRING, rejecting that encoding before decoding.