Uncontrolled recursion in elixir-protobuf JSON decoding
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Partial Red Hat: 13 without a fix
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and Red Hat. Impact type from CWE-674.
Summary
elixir-protobuf protobuf from 0.8.0 before 0.17.1 has uncontrolled recursion in Protobuf.JSON.Decode when it decodes self-referential or cyclic message types. Embedded messages are decoded recursively without a depth check, so a deeply nested JSON document exhausts the decoding process's memory. An unauthenticated remote attacker can crash the decoder, and the recursion_limit option has no effect on user-defined message types.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| elixir-protobuf | protobuf | 0.8.0 to before 0.17.1 | 0.17.1 | Patch available | CNA |
- protobuf Vendorelixir-protobuf Affected 0.8.0 to before 0.17.1 Fixed in 0.17.1 Patch available CNA
CPE names CNA · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:elixir-protobuf:protobuf:*:*:*:*:*:*:*:* | — | — | — |
- cpe:2.3:a:elixir-protobuf:protobuf:*:*:*:*:*:*:*:* Versions — — ·—
Remediation
Upgrade elixir-protobuf protobuf to 0.17.1, which fixes this flaw. Red Hat rates it Moderate and lists no fix for OpenShift Service Mesh 3, Red Hat AMQ Clients, Red Hat Ansible Automation Platform 2 (no fix planned), Red Hat Ceph Storage 9, Red Hat Enterprise Linux 10 and other products.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
- Fix · CNA protobuf (elixir-protobuf) Fixed in 0.17.1
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| OpenShift Service Mesh 3 | Affected | No fix yet: Fix deferred |
| Red Hat AMQ Clients | Affected | No fix yet: Fix deferred |
| Red Hat Ansible Automation Platform 2 | Affected | No fix planned: Out of support scope |
| Red Hat Ceph Storage 9 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 10 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 7 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 8 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 9 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 4 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 5 | Affected | No fix yet: Fix deferred |
| Red Hat OpenStack Platform 16.2 | Affected | No fix planned: Out of support scope |
| Red Hat Satellite 6 | Affected | No fix yet: Fix deferred |
| Red Hat Update Infrastructure 4 for Cloud Providers | Affected | No fix planned: Out of support scope |
Not affected: 1 product
- Red Hat Hardened Images
Timeline
- 2026-10-09 Threatist record created from CVE-2026-104635
- 2026-10-10 Affected versions changed · Red Hat
- 2026-10-10 Priority changed: MEDIUM → LOW
- 2026-10-16 CISA SSVC decision points changed
- 2026-10-16 Priority changed: LOW → HIGH
- 2026-11-05 Affected versions changed · Red Hat
References
More elixir-protobuf vulnerabilities
- TI-2026-39314 Elixir protobuf: Unbounded recursion depth in embedded-message decoding CVSS 4.0HIGH 8.2
Sources
- CVE-2026-104635 · CVE Program
- CVE-2026-104635 · NVD
- FIRST EPSS
- CVE-2026-104635 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences