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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Erlang OTP
Default version status: unaffected
0 to < 17.0unknown17.0 to < 27.3.4.17affected28.0 to < 28.5.0.6affected29.0 to < 29.0.6affected
pkg:software-id/erlang.org/otpErlang OTP
Default version status: unaffected
0 to < 6.0unknown6.0 to < 15.2.7.13affected16.0 to < 16.4.0.6affected17.0 to < 17.0.6affected
pkg:otp/ertsErlang OTP
Default version status: unaffected
84adefa331c4159d432d22840663c38f155cd4c1 to < 08e8efdba8500d2d6f54c6b1de1492b228017c9baffected
pkg:github/erlang/otp