Erlang/OTP -- binary_to_term crash on crafted BIT_BINARY_EXT input
· CVE-2026-54890 · VuXML entry
https://github.com/erlang/otp/security/advisories/GHSA-54pw-5645-jh86 reports: A specially crafted External Term Format (ETF) payload of merely 7 bytes triggers a crash in the BEAM virtual machine when processed by binary_to_term/1,2. The BIT_BINARY_EXT tag with specific parameters causes an unsigned integer underflow during bitstring size calculation, resulting in an enormous memory allocation attempt that …
Affected versions
- erlang >= 27.0,4 < 28.5.0.4,4
- erlang-runtime27 < 27.3.4.15
- erlang-runtime28 < 28.5.0.4
- erlang-runtime29 < 29.0.4
By system
2 still vulnerable, 5 fixed. Where VuXML applies (FreeBSD, DragonFly, FreeBSD's derivatives) a port is vulnerable while its version is in a range; pkgsrc says itself whether it lists a CVE of this advisory; OpenBSD and MidnightBSD keep no list this site reads, so their row is only an estimate: FreeBSD's ranges applied to upstream's version.
| System | Port | Version | State | Fixed |
|---|---|---|---|---|
| DragonFly | lang/erlang | 25.3.2.7_1,4 | fixed | |
| NetBSD | lang/erlang | 27.3.4.7 | not listed | |
| MidnightBSD | lang/erlang | 25.3.2.20_1,4 | out of range, by version | |
| FreeBSD | lang/erlang | 28.5.0.8_1,4 | fixed | (1 days after) |
| DragonFly | lang/erlang-runtime27 | 27.3.4 | vulnerable since 2026-07-27 | |
| FreeBSD | lang/erlang-runtime27 | 27.3.4.19_1 | fixed | (1 days after) |
| DragonFly | lang/erlang-runtime28 | 28.0 | vulnerable since 2026-07-27 | |
| MidnightBSD | lang/erlang-runtime28 | 28.5.0.8 | out of range, by version | |
| FreeBSD | lang/erlang-runtime28 | 28.5.0.8_1 | fixed | (1 days after) |
| FreeBSD | lang/erlang-runtime29 | 29.1.2_1 | fixed | (1 days after) |