CVE-2026-49760
Stack Buffer Overflow in ei_s_print_term at Very Large Integer
Vulnerability description
Stack-based Buffer Overflow vulnerability in Erlang OTP (erl_interface) allows Stack-based Buffer Overflow.
This vulnerability is associated with program file lib/erl_interface/src/misc/ei_printterm.c and program routine ei_s_print_term.
The C function ei_s_print_term uses an internal 2000-character stack buffer to format terms. When called with an encoded Erlang term containing a very large integer (encoded representation exceeding 2000 characters), the buffer overflows. The overflow bytes are restricted to the ASCII values of 0-9 and A-F, which limits exploitation to Denial of Service.
The companion function ei_print_term, which prints directly to a FILE instead of a memory buffer, does not contain this bug.
This issue affects OTP from OTP 17.0 before 27.3.4.13, 28.5.0.2 and 29.0.2, corresponding to erl_interface from 3.7.16 before 5.5.2.1, 5.7.0.1 and 5.8.1.
Affected
pkg:otp/erl_interface
| Module | Source File | Routine |
|---|---|---|
erl_interface
|
src/misc/ei_printterm.c
|
ei_s_print_term
|
| Status | Type | Version | Changes / Fixed in |
|---|---|---|---|
| affected | otp ⓘ | 3.7.16
|
|
pkg:github/erlang/otp
| Module | Source File | Routine |
|---|---|---|
erl_interface
|
lib/erl_interface/src/misc/ei_printterm.c
|
ei_s_print_term
|
| Status | Type | Version | Changes / Fixed in |
|---|---|---|---|
| affected | otp ⓘ | 17.0
|
|
| affected | git ⓘ | 84adefa331
|
< 0bef277b2d
|
Workarounds
Avoid calling ei_s_print_term with untrusted data whose encoded integer representation could exceed 2000 characters.
References
- https://github.com/erlang/otp/security/advisories/GHSA-xcxj-5pg2-v72j vendor-advisory related
- https://osv.dev/vulnerability/EEF-CVE-2026-49760 related
- https://github.com/erlang/otp/commit/0bef277b2d39dc8babb9ceb4f5d0a456f3007111 patch
Credits
- Finder: Jonatan Männchen / EEF
- Remediation developer: Sverker Eriksson
CVE record as JSON:
GET /cves/CVE-2026-49760.json
OSV record as JSON:
GET /osv/EEF-CVE-2026-49760.json