Am I affected?

type your erlang.org/otp version to check

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.

Weaknesses & attack patterns

Weakness

CWE-190 · Integer Overflow or Wraparound in catalog → MITRE ↗
CWE-122 · Heap-based Buffer Overflow in catalog → MITRE ↗

Attack patterns

CAPEC-100 · Overflow Buffers MITRE ↗

Affected — Erlang

< 17.0 status unknown
17.0 < 27.3.4.17 affected
maint-28 28.0 < 28.5.0.6 affected
maint-29 29.0 < 29.0.6 affected
every other version: unaffected
cpe cpe:2.3:a:erlang:erlang/otp:*:*:*:*:*:*:*:*

Affected — pkg:otp/erts Repository ↗

< 6.0 status unknown
6.0 < 15.2.7.13 affected
16.0 < 16.4.0.6 affected
17.0 < 17.0.6 affected
every other version: unaffected
cpe cpe:2.3:a:erlang:erlang/otp:*:*:*:*:*:*:*:*

Affected — GitHub / erlang/otp Repository ↗

84adefa < 08e8efd affected
every other version: unaffected
cpe cpe:2.3:a:erlang:erlang/otp:*:*:*:*:*:*:*:*

References

Credits

Arthur Chan Finder
David Korczynski Finder
Adam Korcz Finder
RaimoNiskanen / Ericsson Remediation developer
Sverker Eriksson / Ericsson Remediation reviewer
John Högberg / Ericsson Remediation reviewer

CVSS breakdown

CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
« All CVEs