CVE-2026-75538: A Signed Length Overflow in Erlang/OTP's inet TCP Driver Overflows the Receive Buffer Into BEAM VM Memory From an Unauthenticated Peer
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.
Affected Software
Event History
Frequently Asked Questions
Which Erlang services are exposed to this issue?
Services with an open TCP port using the inet driver in {packet,4} mode are exposed. An unauthenticated remote peer only needs to connect to such a port.
What is the likely impact of exploitation?
The overflow can corrupt allocator metadata and adjacent memory, most likely crashing the BEAM VM. The available information describes remote code execution as extremely unfeasible.
Which releases contain fixes?
Update affected OTP 17.x releases to 27.3.4.17 or later, OTP 28.x releases to 28.5.0.6 or later, or OTP 29.x releases to 29.0.6 or later. OTP versions before 17.0 are of unknown status.
What can be done before an update is available?
Avoid exposing TCP endpoints configured with the inet driver and {packet,4} mode to untrusted peers. Restricting access to those ports limits the unauthenticated network attack path described for this issue.