OTP: Stack-based Buffer Overflow
CVE-2026-49759 is a high-severity stack-based buffer overflow vulnerability in OTP from Erlang, with a CVSS 3.1 base score of 8.2 out of 10. It can be exploited remotely over the network by an unauthenticated attacker, without any action from a user. The record lists version 3983d495284331c121f600a80bac9fcf4e16381e as the first without the flaw, so updating OTP to that release or later removes the exposure. There is no confirmed exploitation so far. EPSS estimates a 0.5% chance of exploitation within 30 days, which is low compared with other CVEs.
High severity with no evidence of exploitation so far.
What to do
- Update OTP to 3983d495284331c121f600a80bac9fcf4e16381e or a later version.
- Update Erlang/otp to 27.3.4.13 or 28.5.0.2 or 29.0.2, whichever matches your release line, or a later version.
- Update Erts to 15.2.7.9 or 16.4.0.2 or 17.0.2, whichever matches your release line, or a later version.
- Read the advisory on github.com for workarounds and exact fixed builds.
- Until you can update, restrict network access to the affected service so it is not reachable from untrusted networks.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Erlang | OTP | 17.0 and later; 6.0 and later; 84adefa331c4159d432d22840663c38f155cd4c1 up to, but not including, 3983d495284331c121f600a80bac9fcf4e16381e | 3983d495284331c121f600a80bac9fcf4e16381e |
| Red Hat | Red Hat OpenStack Platform 16.2 | Not specified in the record | Not stated |
| Red Hat | Red Hat OpenStack Platform 17.1 | Not specified in the record | Not stated |
| Red Hat | Red Hat OpenStack Platform 18.0 | Not specified in the record | Not stated |
| Erlang | Erlang/otp | 17.0 up to, but not including, 27.3.4.13; 28.0 up to, but not including, 28.5.0.2; 29.0 up to, but not including, 29.0.2 | 27.3.4.13, 28.5.0.2, 29.0.2 |
| Erlang | Erts | 6.0 up to, but not including, 15.2.7.9; 16.0 up to, but not including, 16.4.0.2; 17.0 up to, but not including, 17.0.2 | 15.2.7.9, 16.4.0.2, 17.0.2 |
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- NetworkCan be exploited remotely over a network, including the internet.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- NoneNo account or login is needed.
- User interaction
- NoneNo action by a victim is required.
- Scope
- UnchangedImpact stays within the vulnerable component.
- Confidentiality
- LowSome restricted data can be read.
- Integrity
- NoneNothing can be modified.
- Availability
- HighThe component can be taken down completely.
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H. Scored by NVD.
| Scoring system | Score | Severity | Scored by |
|---|---|---|---|
| CVSS 4.0 | 8.8 | High | CNA |
| CVSS 3.1 | 8.2 | High | NVD |
| CVSS 3.1 | 8.2 | High | CNA |
Official description
Stack-based Buffer Overflow vulnerability in Erlang OTP erts (inet_drv) allows an unauthenticated remote attacker to crash the BEAM VM by sending a crafted SCTP ERROR chunk. The sctp_parse_error_chunk function in erts/emulator/drivers/common/inet_drv.c parses SCTP ERROR chunks and writes cause codes into a fixed-size stack-allocated ErlDrvTermData spec[] array without checking bounds. A remote attacker who has established an SCTP association to a listening port can send a single crafted SCTP ERROR chunk containing enough cause codes to overflow the stack buffer, crashing the VM. The attacker can only write 16-bit values interleaved with a fixed tag, so the overflow does not provide a controlled return address, limiting exploitation to Denial of Service. A crafted SCTP ERROR chunk may also leak bits and pieces of Erlang VM memory into the received error packet observed by the Erlang process. Such data is already readable by the user running the Erlang VM, so the disclosure scope is limited. This issue affects OTP from OTP 17.0 before OTP 27.3.4.13, OTP 28.5.0.2, and OTP 29.0.2, corresponding to erts from 6.0 before 15.2.7.9, 16.4.0.2, and 17.0.2. Whether OTP before OTP 17.0, corresponding to erts before 6.0, is affected is unknown.
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Stack-based Buffer Overflow
The product writes past the end of a buffer that was allocated on the stack.
How developers prevent this class of flaw
- Use automatic buffer overflow detection mechanisms that are offered by certain compilers or compiler extensions. Examples include: the Microsoft Visual Studio /GS flag, Fedora/Red Hat FORTIFY_SOURCE GCC flag, StackGuard, and ProPolice, which provide various mechanisms including canary-based detection and range/index checking. D3-SFCV (Stack Frame Canary Validation) from D3FEND discusses canary-based detection in detail.
- Use an abstraction library to abstract away risky APIs. Not a complete solution.
- Implement and perform bounds checking on input.
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: none, automatable: yes, technical impact: partial).
- Record last changed materially (score, affected products, status or references).
References
Patches and release notes
Third-party and government advisories
- cna.erlef.org/cves/CVE-2026-49759.htmlThird Party Advisory
- osv.dev/vulnerability/EEF-CVE-2026-49759Third Party Advisory
Other references
Other vulnerabilities in OTP
- 8.2 High severity
- 9.3 Critical severity
- 7.1 High severity
- 8.2 High severity
- 8.2 High severity
- 8.7 High severity
Recent Stack-based Buffer Overflow vulnerabilities
- 9.1 Critical severity
- 9.1 Critical severity
- 8.1 High severity
- 7.2 High severity
- 8.7 High severity
- 7.8 High severity
Spotted an error? Tell us.