CVE-2026-104635CWE-674

CVE-2026-104635

published October 9, 2026

CVSS
8.2
EPSS
0%
Percentile
31.4
In the wild
Unconfirmed
What it is

Uncontrolled Recursion vulnerability in Protobuf.JSON.Decode in elixir-protobuf protobuf allows an unauthenticated remote attacker to crash the decoding process via a deeply nested JSON document. Any application that decodes attacker-supplied JSON with Protobuf.JSON.decode/3, Protobuf.JSON.decode!/3, or Protobuf.JSON.from_decoded/3 into a schema that contains a self-referential or cyclic message type is affected.

In lib/protobuf/json/decode.ex, the embedded-message clause of decode_singular/3 recurses into internal_from_json_data/3 once per nesting level without incrementing or checking the decoder's depth counter. The depth guard increase_depth_and_maybe_throw/1 covers only the Google.Protobuf.ListValue and Google.Protobuf.Struct clauses, so the recursion_limit option has no effect on user-defined message types. Each nesting level allocates a stack frame and heap objects, and a sufficiently deep document exhausts the memory of the decoding process. Confidentiality and integrity are not affected.

This issue affects protobuf: from 0.8.0 before 0.17.1.

The record
Technical detail
CVSS
8.2 · NONE
CVSS v4.0
8.2 · CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
EPSS
0.00387 · 31.4th percentile
Weakness
CWE-674 · Uncontrolled Recursion
Published
2026-10-09T13:17Z
References (6)
EPSS history
Timeline
  • 10 OCT 03:27Z
    EPSS moved — → 0%
    epss
  • 09 OCT 08:17Z
    Uncontrolled recursion in elixir-protobuf/protobuf JSON decoding of self-referential messages
    cvelistv5
  • 09 OCT 08:17Z
    Uncontrolled recursion in elixir-protobuf/protobuf JSON decoding of self-referential messages
    cvelistv5