Erlang OTP bis 29.0.3/28.5.0.3/27.3.4.14 Decoder external.c enif_binary_to_term trailing-bits Pufferüberlauf
| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 5.1 | $0-$5k | 2.11- |
Zusammenfassung
In Erlang OTP bis 29.0.3/28.5.0.3/27.3.4.14 wurde eine problematische Schwachstelle ausgemacht. Betroffen davon ist die Funktion enif_binary_to_term der Datei erts/emulator/beam/external.c der Komponente Decoder. Dank Manipulation des Arguments trailing-bits mit unbekannten Daten kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden.
Diese Schwachstelle trägt die Bezeichnung CVE-2026-54890. Umgesetzt werden kann der Angriff über das Netzwerk. Es gibt keinen verfügbaren Exploit.
Details
In Erlang OTP bis 29.0.3/28.5.0.3/27.3.4.14 wurde eine Schwachstelle ausgemacht. Sie wurde als problematisch eingestuft. Dabei geht es um die Funktion enif_binary_to_term der Datei erts/emulator/beam/external.c der Komponente Decoder. Mittels Manipulieren des Arguments trailing-bits mit einer unbekannten Eingabe kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. CWE definiert das Problem als CWE-191. Das hat Auswirkungen auf die Verfügbarkeit. CVE fasst zusammen:
Integer Underflow (Wrap or Wraparound) vulnerability in erlang otp erlang/otp (erts modules), erlang otp erts (erts modules) allows Forced Integer Overflow, Excessive Allocation. This vulnerability is associated with program files erts/emulator/beam/external.c, emulator/beam/external.c.
The BIT_BINARY_EXT tag (77) handler in the External Term Format (ETF) decoder accepts an encoding with both length and trailing-bits fields set to zero. The subsequent computation of the bitstring size underflows an unsigned integer, producing a value of roughly 2^64 that is then passed as a memory allocation size. The allocator aborts the entire node with a message such as "Cannot allocate 2305843009213693951 bytes of memory (of type binary)".
The crash is a VM-level abort, not an Erlang-level exception. It cannot be intercepted by supervision trees, by try/catch, or by passing the [safe] option to binary_to_term/2 (which only restricts atom creation and does not perform structural validation of binary encodings).
Any application that decodes ETF from untrusted sources via binary_to_term/1,2 or enif_binary_to_term() is exposed. The Erlang distribution protocol also decodes incoming terms through the same code path, but distribution is expected to run on trusted networks per the OTP Secure Coding Guidelines (DSG-011).
This issue affects OTP from OTP 27.0 before OTP 29.0.4, OTP 28.5.0.4 and OTP 27.3.4.15, corresponding to erts from 15.0 before 17.0.4, 16.4.0.4 and 15.2.7.11.Das Advisory kann von github.com heruntergeladen werden. Eine eindeutige Identifikation der Schwachstelle wird seit dem 16.06.2026 mit CVE-2026-54890 vorgenommen. Sie gilt als leicht auszunutzen. Die Umsetzung des Angriffs kann dabei über das Netzwerk erfolgen. Um eine Ausnutzung durchzusetzen, muss keine spezifische Authentisierung umgesetzt werden. Technische Details sind bekannt, ein verfügbarer Exploit hingegen nicht. Es muss davon ausgegangen werden, dass ein Exploit zur Zeit etwa USD $0-$5k kostet (Preisberechnung vom 27.07.2026).
Es sind keine Informationen bezüglich Gegenmassnahmen bekannt. Der Einsatz eines alternativen Produkts bietet sich im Zweifelsfall an.
VulDB is the best source for vulnerability data and more expert information about this specific topic.
Produkt
Hersteller
Name
Version
- 27.3.4.0
- 27.3.4.1
- 27.3.4.2
- 27.3.4.3
- 27.3.4.4
- 27.3.4.5
- 27.3.4.6
- 27.3.4.7
- 27.3.4.8
- 27.3.4.9
- 27.3.4.10
- 27.3.4.11
- 27.3.4.12
- 27.3.4.13
- 27.3.4.14
- 28.5.0.0
- 28.5.0.1
- 28.5.0.2
- 28.5.0.3
- 29.0.0
- 29.0.1
- 29.0.2
- 29.0.3
Webseite
- Produkt: https://github.com/erlang/otp/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 5.3VulDB Meta Temp Score: 5.1
VulDB Base Score: 5.3
VulDB Temp Score: 5.1
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vektor | Komplexität | Authentisierung | Vertraulichkeit | Integrität | Verfügbarkeit |
|---|---|---|---|---|---|
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍
Exploiting
Klasse: PufferüberlaufCWE: CWE-191 / CWE-189
CAPEC: 🔒
ATT&CK: 🔒
Physisch: Nein
Lokal: Nein
Remote: Ja
Verfügbarkeit: 🔒
Status: Nicht definiert
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: keine Massnahme bekanntStatus: 🔍
0-Day Time: 🔒
Timeline
16.06.2026 CVE zugewiesen27.07.2026 Advisory veröffentlicht
27.07.2026 VulDB Eintrag erstellt
27.07.2026 VulDB Eintrag letzte Aktualisierung
Quellen
Produkt: github.comAdvisory: github.com
Status: Nicht definiert
CVE: CVE-2026-54890 (🔒)
GCVE (CVE): GCVE-0-2026-54890
GCVE (VulDB): GCVE-100-383488
Eintrag
Erstellt: 27.07.2026 18:29Anpassungen: 27.07.2026 18:29 (56)
Komplett: 🔍
Cache ID: 216::103
VulDB is the best source for vulnerability data and more expert information about this specific topic.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.