CVE Catalog

CVE-2026-54451

HighCVSS 8.2
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.52%

42th percentile - higher than 42% of all known CVEs

Summary

In the Elixir protobuf library from 0.8.0 until 0.16.1, services that decode attacker-controlled protobuf bytes can be taken offline when the schema contains a self-referential or cyclic message type. The decoder recursively processes nested embedded fields without a nesting-depth limit, allowing a relatively small request to consume substantial CPU and memory and pin a BEAM scheduler. The issue is fixed in 0.16.1.

Risk Assessment

An attacker can cause resource exhaustion and service unavailability (denial of service) by sending specially crafted protobuf data. This can pin a BEAM scheduler and render the entire node unresponsive.

Recommendation

Update the Elixir protobuf library to version 0.16.1 or later. Consider limiting the size and nesting depth of processed protobuf messages at the application level.

Other vulnerabilities in Elixir protobuf

Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS