CyberRota Analysis
AI-GeneratedServices using Elixir protobuf versions 0.8.0 to 0.16.1 are vulnerable to denial-of-service attacks due to improper handling of self-referential or cyclic message types during decoding. Attackers can exploit this vulnerability by sending specially crafted protobuf messages, leading to excessive CPU and memory consumption that can take the service offline. Organizations utilizing affected versions should prioritize upgrading to version 0.16.1 to mitigate this high-severity risk.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
Elixir protobuf is a pure Elixir implementation of Google Protobuf. From 0.8.0 until 0.16.1, services that decode attacker-controlled protobuf bytes with Protobuf.Decoder can be taken offline when the schema contains a self-referential or cyclic message type. In lib/protobuf/decoder.ex, Protobuf.Decoder.value_for_field/3 handles an embedded?: true field by recursively entering the decode / build_message / handle_value / value_for_field call chain without enforcing a nesting-depth limit. Deeply nested embedded fields retain non-tail recursive frames, allowing a comparatively small request to consume substantial CPU and memory, pin a BEAM scheduler, and exhaust the node. This issue is fixed in version 0.16.1.