# CVE-2026-55737: Erlang OTP out-of-bounds write in erts ETF decoder

Source: https://junglewise.ai/threats/cve-2026-55737-erlang-otp-out-of-bounds-write-in-erts-etf-decoder  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-07-27. Updated: 2026-07-27  
License: CC BY 4.0 with a link back

CVE-2026-55737 · Severity: info · CVSS 5.1 · Published 2026-07-27

A vulnerability exists in the Erlang runtime system (erts) used to build and run Erlang and Elixir applications. By providing a specially crafted data binary to the system's data conversion functions, an attacker can cause the virtual machine to crash. This results in a denial of service, potentially disrupting business operations and application availability.

## Quick answers

**Is CVE-2026-55737 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-55737 being exploited in the wild.

**How severe is CVE-2026-55737?** Informational severity, with a CVSS score of 5.1, published 27 July 2026.

**Which products and versions are affected?** Erlang OTP 25.0 to 27.3.4.14, 28.0 to 28.5.0.3, 29.0 to 29.0.3; Erlang erts 13.0 to 15.2.7.10, 16.0 to 16.4.0.3, 17.0 to 17.0.3.

**Is there a fix for CVE-2026-55737?** A patch was published on 2026-07-27. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-55737 attacked?** It is attacked with local access, in a software library.

**Am I affected by CVE-2026-55737?** Check whether anything you run is named in the advisory. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

A vulnerability exists in the Erlang External Term Format (ETF) decoder within erts/emulator/beam/external.c. When processing a LARGE_TUPLE_EXT term, the validation function (decoded_size) treats the 32-bit arity field as unsigned, while the decoding function (dec_term) treats it as a signed integer. By providing an arity value such as 0x80000000, the decoder interprets the value as negative, causing the heap allocation pointer to move backward. This leads to an out-of-bounds heap write and a subsequent virtual machine abort. The issue is mitigated in patched versions by enforcing the MAX_ARITYVAL limit (16777215).

## Affected products

- Erlang OTP 25.0 to 27.3.4.14, 28.0 to 28.5.0.3, 29.0 to 29.0.3
- Erlang erts 13.0 to 15.2.7.10, 16.0 to 16.4.0.3, 17.0 to 17.0.3

## Timeline

- 2026-07-27: advisory
- 2026-07-27: disclosed
- 2026-07-27: patched

## References

- [https://github.com/](https://github.com/)
- [https://cna.erlef.org/cves/CVE-2026-55737.html](https://cna.erlef.org/cves/CVE-2026-55737.html)
- [https://github.com/erlang/otp/commit/c5210b42a9d3d96f3d25601942ce8122be0f3761](https://github.com/erlang/otp/commit/c5210b42a9d3d96f3d25601942ce8122be0f3761)
- [https://github.com/erlang/otp/security/advisories/GHSA-446w-268v-9462](https://github.com/erlang/otp/security/advisories/GHSA-446w-268v-9462)
- [https://www.erlang.org/doc/system/versions.html](https://www.erlang.org/doc/system/versions.html)
