# CVE-2026-49759: Stack buffer overflow in SCTP error cause parsing in inet_drv allows remote VM crash

> Remote attackers can crash the Erlang VM via crafted SCTP packets, causing denial of service and limited memory disclosure.

- **Severity:** High 8.8 (`CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 10 Jun 2026
- **Updated:** 24 Sep 2026
- **Also known as:** AZL-90126, DEBIAN-CVE-2026-49759, EEF-CVE-2026-49759, GHSA-6f4f-chj5-5g97, UBUNTU-CVE-2026-49759

## What is CVE-2026-49759?

CVE-2026-49759 is a high-severity memory corruption vulnerability in Erlang OTP, published on 10 Jun 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

### 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.

Weakness: CWE-120 (Buffer Copy without Checking Size of Input), CWE-121 (Stack-based Buffer Overflow)

## Which versions are affected by CVE-2026-49759?

It affects 2 products.


Products: Erlang Erlang\/Otp, Erlang Erts.

## How do I fix CVE-2026-49759?

Apply the vendor's patch.

## Is CVE-2026-49759 being exploited?

There is no known exploitation of CVE-2026-49759 in the wild and no public exploit code.

## Other vulnerabilities in Erlang OTP

- [CVE-2022-37026](https://insights.sbomify.com/CVE-2022-37026/): Auth bypass in n/a (critical 9.8)
- [CVE-2016-10253](https://insights.sbomify.com/CVE-2016-10253/): Memory corruption in n/a (critical 9.8)
- [CVE-2026-55953](https://insights.sbomify.com/CVE-2026-55953/): TLS 1.2 and DTLS client accepts unoffered anonymous cipher suite, bypassing server authentication (critical 9.1)
- [CVE-2026-58227](https://insights.sbomify.com/CVE-2026-58227/): TLS/DTLS denial of service via unbounded recursion on cross-signed peer certificate chain (high 8.7)
- [CVE-2026-59251](https://insights.sbomify.com/CVE-2026-59251/): Denial of service via exponential certificate policy tree growth in path validation (high 8.7)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-49759 and fix it if it is affected.

What it is: CVE-2026-49759 is a high-severity memory corruption vulnerability in Erlang OTP, published on 10 Jun 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2026-49759 in the wild and no public exploit code.

Affected product: Erlang OTP. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-49759/ (Markdown: https://insights.sbomify.com/CVE-2026-49759/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-49759
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-49759
- OSV: https://osv.dev/vulnerability/CVE-2026-49759

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-49759/
Summaries are generated and may contain mistakes; the official description above is the record.
