Snyk has a proof-of-concept or detailed explanation of how to exploit this vulnerability.
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 protobuf to version 0.17.0 or higher.
protobuf is a pure Elixir implementation of Google Protobuf.
Affected versions of this package are vulnerable to Uncontrolled Recursion in embedded-message decoding through value_for_field/3 in lib/protobuf/decoder.ex. An attacker can crash a service by sending a protobuf payload that nests a self-referential or cyclic embedded message hundreds of thousands or millions of levels deep. The decoder recurses once per embedded level with no depth limit, exhausting memory and CPU and pinning the BEAM scheduler while it processes the request; a small number of such requests can take the node offline.
Notes
:max_nesting_depth through Protobuf.decode/3 to override it for a given decode path.