Cyber Resilience

CVE-2026-54890

Memory Safety in Erlang\/Otp 27.0 – 27.3.4.15

Published
27 July 2026
Modified
10 August 2026
Patch / advisory
CVSS Score v4 8.2
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
EPSS Score 0.0039 31th percentile
Risk Priority 43 floored blend · peak EPSS

Summary

CVE-2026-54890 is a high-severity Wrap or Wraparound (CWE-191) vulnerability in Erlang Erlang\/Otp. Its CVSS base score is 8.2 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploitation for Privilege Escalation (T1068); ranked at the 31th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to SA-11 (Developer Testing and Evaluation) and SI-10 (Information Input Validation) — see the control section below for these in your framework.

EU & UK References

Vulnerability Data

Integer Underflow (Wrap or Wraparound) vulnerability in erlang otp erlang/otp (erts modules), erlang otp erts (erts modules) allows Forced Integer Overflow, Excessive Allocation. This vulnerability is associated with program files erts/emulator/beam/external.c, emulator/beam/external.c. The BIT_BINARY_EXT tag (77) handler in the External…

more

Term Format (ETF) decoder accepts an encoding with both length and trailing-bits fields set to zero. The subsequent computation of the bitstring size underflows an unsigned integer, producing a value of roughly 2^64 that is then passed as a memory allocation size. The allocator aborts the entire node with a message such as "Cannot allocate 2305843009213693951 bytes of memory (of type binary)". The crash is a VM-level abort, not an Erlang-level exception. It cannot be intercepted by supervision trees, by try/catch, or by passing the [safe] option to binary_to_term/2 (which only restricts atom creation and does not perform structural validation of binary encodings). Any application that decodes ETF from untrusted sources via binary_to_term/1,2 or enif_binary_to_term() is exposed. The Erlang distribution protocol also decodes incoming terms through the same code path, but distribution is expected to run on trusted networks per the OTP Secure Coding Guidelines (DSG-011). This issue affects OTP from OTP 27.0 before OTP 29.0.4, OTP 28.5.0.4 and OTP 27.3.4.15, corresponding to erts from 15.0 before 17.0.4, 16.4.0.4 and 15.2.7.11.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1068 Exploitation for Privilege Escalation Privilege Escalation
Adversaries may exploit software vulnerabilities in an attempt to elevate privileges.
T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1203 Exploitation for Client Execution Execution
Adversaries may exploit software vulnerabilities in client applications to execute code.
T1210 Exploitation of Remote Services Lateral Movement
Adversaries may exploit remote services to gain unauthorized access to internal systems once inside of a network.
T1212 Exploitation for Credential Access Credential Access
Adversaries may exploit software vulnerabilities in an attempt to collect credentials.
T1499 Endpoint Denial of Service Impact
Adversaries may perform Endpoint Denial of Service (DoS) attacks to degrade or block the availability of services to users.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-49759Same product: Erlang Erlang\/Otp
CVE-2026-55952Same product: Erlang Erlang\/Otp
CVE-2026-49760Same product: Erlang Erlang\/Otp
CVE-2026-42791Same product: Erlang Erlang\/Otp
CVE-2026-28810Same product: Erlang Erlang\/Otp
CVE-2026-42789Same product: Erlang Erlang\/Otp
CVE-2026-42790Same product: Erlang Erlang\/Otp
CVE-2026-23943Same product: Erlang Erlang\/Otp
CVE-2026-48860Same product: Erlang Erlang\/Otp
CVE-2026-28808Same product: Erlang Erlang\/Otp

Affected Assets

erlang
erlang\/otp
27.0 — 27.3.4.15 · 28.0 — 28.5.0.4 · 29.0 — 29.0.4
erlang
erts
15.0 — 15.2.7.11 · 16.0 — 16.4.0.4 · 17.0 — 17.0.4

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V6.7.2
  • V1.4.2
  • V2.1.1
  • V2.2.1

Mitigating Controls (NIST 800-53 r5) AI

Developer testing and static/dynamic analysis directly find integer underflow defects before code is released.

Input validation directly rejects or bounds untrusted size values before any allocation occurs.

Security engineering principles require use of safe arithmetic constructs or language features that structurally eliminate integer underflow during subtraction.

Resource quotas and priority allocation limit the system-wide impact of an oversized request.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 full match
prevents

Secure SDLC practices directly prevent integer underflow defects via input validation, bounds checking, and static analysis.

ID.RA-01 partial match
prevents

Vulnerability scanning and code analysis can surface underflow flaws after they are introduced.

PR.PS-02 partial match
prevents

Routine patching can remediate known underflow bugs once they are discovered in deployed software.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Security testing in development catches integer underflow defects before release.

prevents

Secure development lifecycle mandates input validation and arithmetic checks that prevent integer underflow.

prevents

Application security requirements include bounds checking and safe arithmetic to avoid underflow conditions.

prevents

Secure architecture principles require defensive coding patterns that mitigate integer wraparound risks.

prevents

Secure coding standards directly prescribe safe integer handling and overflow/underflow prevention.

none

Capacity management monitors overall resource use but does not prevent individual allocation bugs.

References