CVE-2026-75538
Received
Received - Intake
Heap Overflow in Erlang OTP TCP Packet Handling
Vulnerability report for CVE-2026-75538, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.
Publication date: 2026-09-01
Last updated on: 2026-09-01
Assigner: EEF
Description
Description
An attacker that connects to an open Erlang TCP port that uses the inet driver with {packet,4} mode can use a signed overflow in an incorrect packet length calculation to overflow the receive buffer into the VM allocator area and beyond up to about 2 GB.
This would easily trash the allocated block's allocator metadata footer, and the next block, if any, and most likely cause the BEAM VM to crash. Utilizing this with precision enough to achieve Remote Code Execution would be extremely unfeasible.
This issue affects OTP from OTPΒ 17.0 before OTPΒ 27.3.4.17, from OTPΒ 28.0 before OTPΒ 28.5.0.6, and from OTPΒ 29.0 before OTPΒ 29.0.6, corresponding to erts from 6.0 before 15.2.7.13, from 16.0 before 16.4.0.6, and from 17.0 before 17.0.6. Whether OTP before OTPΒ 17.0, corresponding to erts before 6.0, is affected is unknown.
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| erlang | otp | to 27.3.4.17|end_excluding=28.5.0.6|end_excluding=29.0.6 (exc) |
| erlang | erts | to 15.2.7.13|end_excluding=16.4.0.6|end_excluding=17.0.6 (exc) |
| erlang | otp | to 27.3.4.17 (exc) |
| erlang | otp | to 28.5.0.6 (exc) |
| erlang | otp | to 29.0.6 (exc) |
| erlang | erts | to 15.2.7.13 (exc) |
| erlang | erts | to 16.4.0.6 (exc) |
| erlang | erts | to 17.0.6 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-122 | A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc(). |
| CWE-190 | The product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will always be larger than the original value. This occurs when an integer value is incremented to a value that is too large to store in the associated representation. When this occurs, the value may become a very small or negative number. |