OSSEVA FOR ERLANG/OTP
Erlang/OTP support after end of life: patched OTP 24, 25 and 26
Erlang/OTP support from OSSeva keeps OTP 24, 25 and 26 patched after the Erlang/OTP team stopped fixing them; OTP 26 ended on 26 May 2026. OSSeva's CVE directory lists 21 advisories published since that date whose affected range includes OTP 26, each fixed upstream only in OTP 27, 28 or 29. Send your work email and an engineer replies within 1 business day.
| Who it is for | Teams running RabbitMQ, ejabberd, CouchDB or their own Erlang and Elixir services on OTP 24, 25 or 26 |
|---|---|
| What you get | Drop-in patched builds from the same release line, so the version string your application checks does not change. Assure adds the OTP upgrade path mapped against your brokers and 24/7 reactive support. |
| How it is priced | Per cluster, bundled with OSSeva for RabbitMQ. Ask for a quote. |
| What happens next | You send your work email, we confirm your version and components, and you get a coverage plan. |
Reply within 1 business day · No commitment · or book a 15-minute call
Which vendors provide patched Erlang/OTP after end of life? Patched RabbitMQ 3.x Builds with SBOM and VEX Attestation.
Last reviewed
Trusted globally by enterprises





Erlang/OTP end-of-life dates, checked 20 October 2026
OTP supports a major release for about three years. Dates and final releases are from endoflife.date. The last column counts entries in OSSeva's CVE directory published after the line's end-of-life date whose affected range includes its final release.
| Line | End of life | Final release | Entries since |
|---|---|---|---|
| OTP 24 | 10 May 2024 | 24.3.4.17 | 24 |
| OTP 25 | 17 May 2025 | 25.3.2.21 | 23 |
| OTP 26 | 26 May 2026 | 26.2.5.21 | 21 |
| OTP 27 | 20 May 2027 | Supported | Not applicable |
| OTP 28 | 20 May 2028 | Supported | Not applicable |
| OTP 29 | 11 May 2029 | Supported | Not applicable |
Erlang/OTP end-of-life chart →OTP 26 end of life →OTP 25 end of life →
The 21 advisories published since OTP 26 ended
They sit in the TLS stack (ssl, public_key), the inets HTTP server and client, the VM (erts), ssh, asn1 and megaco. Each names a range that includes OTP 26 and is fixed upstream only on 27.3.4.x, 28.5.0.x or 29.x. A patched RabbitMQ on an unpatched OTP is not a patched system.
Show all 21 entries
| CVE | Published | CVSS | Affected range (NVD) | Fixed upstream in |
|---|---|---|---|---|
| CVE-2026-49759 | 2026-06-10 | 8.2 | >=17.0 <27.3.4.13; >=28.0 <28.5.0.2; >=29.0 <29.0.2 | See advisory |
| CVE-2026-55952 | 2026-07-02 | 7.5 | >=22.2 <27.3.4.14; >=28.0 <28.5.0.3; >=29.0 <29.0.3 | See advisory |
| CVE-2026-55953 | 2026-07-27 | 7.4 | OTP 17.0 and later, before 27.3.4.15, 28.5.0.4 and 29.0.4 (ssl) | OTP 27.3.4.15, 28.5.0.4, 29.0.4 |
| CVE-2026-59251 | 2026-07-27 | 7.5 | OTP 26.2 and later, before 27.3.4.15, 28.5.0.4 and 29.0.4 (public_key) | OTP 27.3.4.15, 28.5.0.4, 29.0.4 |
| CVE-2026-58227 | 2026-07-27 | 7.5 | OTP 23.2 and later, before 27.3.4.15, 28.5.0.4 and 29.0.4 (ssl) | OTP 27.3.4.15, 28.5.0.4, 29.0.4 |
| CVE-2026-59250 | 2026-07-27 | 8.3 | OTP 17.0 and later, before 27.3.4.15, 28.5.0.4 and 29.0.4 (megaco) | OTP 27.3.4.15, 28.5.0.4, 29.0.4 |
| CVE-2026-42792 | 2026-07-27 | 7.5 | >=17.0 <27.3.4; >=28.0 <28.5.0.4; >=29.0 <29.0.4 | See advisory |
| CVE-2026-74835 | 2026-09-01 | 8.7 | OTP 17.0 and later, before 27.3.4.17, 28.5.0.6 and 29.0.6 (inets) | OTP 27.3.4.17, 28.5.0.6, 29.0.6 |
| CVE-2026-73276 | 2026-09-01 | 8.3 | OTP 22.2 and later, before 27.3.4.17, 28.5.0.6 and 29.0.6 (inets) | OTP 27.3.4.17, 28.5.0.6, 29.0.6 |
| CVE-2026-66357 | 2026-09-01 | 8.3 | OTP 17.0 and later, before 27.3.4.17, 28.5.0.6 and 29.0.6 (inets) | OTP 27.3.4.17, 28.5.0.6, 29.0.6 |
| CVE-2026-73812 | 2026-09-01 | 8.3 | OTP 17.0 and later, before 27.3.4.17, 28.5.0.6 and 29.0.6 (inets) | OTP 27.3.4.17, 28.5.0.6, 29.0.6 |
| CVE-2026-69664 | 2026-09-01 | 8.7 | OTP 18.1.4 and later, before 27.3.4.17, 28.5.0.6 and 29.0.6 (inets) | OTP 27.3.4.17, 28.5.0.6, 29.0.6 |
| CVE-2026-70399 | 2026-09-01 | 8.7 | OTP 17.0 and later, before 27.3.4.17, 28.5.0.6 and 29.0.6 (inets) | OTP 27.3.4.17, 28.5.0.6, 29.0.6 |
| CVE-2026-71380 | 2026-09-01 | 8.7 | OTP 17.0 and later, before 27.3.4.17, 28.5.0.6 and 29.0.6 (inets) | OTP 27.3.4.17, 28.5.0.6, 29.0.6 |
| CVE-2026-75538 | 2026-09-01 | 8.2 | OTP 17.0 and later, before 27.3.4.17, 28.5.0.6 and 29.0.6 (erts) | OTP 27.3.4.17, 28.5.0.6, 29.0.6 |
| CVE-2026-66835 | 2026-09-01 | 8.2 | OTP 17.0 and later, before 27.3.4.17, 28.5.0.6 and 29.0.6 (inets) | OTP 27.3.4.17, 28.5.0.6, 29.0.6 |
| CVE-2026-73270 | 2026-09-01 | 8.2 | OTP 17.0 and later, before 27.3.4.17, 28.5.0.6 and 29.0.6 (inets) | OTP 27.3.4.17, 28.5.0.6, 29.0.6 |
| CVE-2026-55951 | 2026-09-01 | 8.2 | OTP 17.0 and later, before 27.3.4.17, 28.5.0.6 and 29.0.6 (inets) | OTP 27.3.4.17, 28.5.0.6, 29.0.6 |
| CVE-2026-89422 | 2026-09-22 | 9.3 | OTP 22.2 and later, before 27.3.4.18, 28.5.0.7 and 29.1.1 (ssl 9.5 and later) | OTP 27.3.4.18, 28.5.0.7, 29.1.1 |
| CVE-2026-65634 | 2026-09-22 | 8.2 | OTP 17.0 and later, before 27.3.4.18, 28.5.0.7 and 29.1.1 (asn1) | OTP 27.3.4.18, 28.5.0.7, 29.1.1 |
| CVE-2026-68956 | 2026-09-22 | 7.1 | OTP 18.1.2 and later, before 27.3.4.18, 28.5.0.7 and 29.1.1 (ssh) | OTP 27.3.4.18, 28.5.0.7, 29.1.1 |
The directory is OSSeva's curated list from NVD, not every advisory filed. Confirm any entry at nvd.nist.gov.
RabbitMQ support →RabbitMQ and Erlang version compatibility →
Why now
OTP 26 went end of life on 26 May 2026
The Erlang/OTP team supports a major release for approximately three years — two years after its successor ships. OTP 24 ended 10 May 2024, OTP 25 ended 17 May 2025, and OTP 26 ended 26 May 2026. OTP 27 runs until 20 May 2027, OTP 28 until 20 May 2028 and OTP 29 until 11 May 2029. RabbitMQ brokers still on OTP 25 or 26 receive no runtime fixes.
The runtime is the blind spot in every messaging audit
Vulnerability scanners fingerprint the broker version and stop there. Erlang's TLS implementation, the SSH application, public_key and the crypto NIFs are all separate attack surface with their own advisories — and they sit beneath every AMQP connection you terminate. A patched RabbitMQ on an unpatched OTP is not a patched system.
Broker and runtime upgrades are coupled, which is why teams defer both
Each RabbitMQ release supports a narrow band of OTP versions, so moving the runtime usually forces a broker move and vice versa. That coupling is the reason clusters stall for years on a single combination. OSSeva patches the pair you are actually running so the upgrade becomes a planned project rather than an incident response.
Versions covered
All versions below receive active CVE patches from OSSeva. Version numbers in monospace are exact release identifiers.
| Version | Status | Active CVEs |
|---|---|---|
| OTP 24(Community EOL 10 May 2024 — OSSeva patched) | EOL | Clean |
| OTP 25(Community EOL 17 May 2025 — OSSeva patched) | EOL | Clean |
| OTP 26(Community EOL 26 May 2026 — OSSeva patched) | EOL | Clean |
| OTP 27(Community support to 20 May 2027) | Extended | Clean |
| OTP 28(Community support to 20 May 2028) | Extended | Clean |
| OTP 29(Released 13 May 2026; community support to 11 May 2029) | Current | Clean |
Running a Erlang/OTP version or build not listed here?
What you get
Three tiers — pick the level of engagement that matches your team's operational needs and compliance requirements.
OSSeva Patch
CVE patches for the OTP release your brokers actually run on.
- Security patches for OTP 24, 25 and 26 past community EOL
- TLS, SSH, public_key and crypto application coverage
- Matched RabbitMQ + OTP build pairs, tested together
- Signed artifacts (GPG) and OS packages
- CVE disclosure notifications
- Runtime and broker upgrade planning
- 24/7 managed operations
OSSeva Assure
Patch plus the OTP upgrade path mapped against your broker estate.
- Everything in Patch
- OTP and broker version compatibility matrix for your estate
- TLS configuration and cipher suite audit
- Distribution protocol and cookie security review
- SOC 2 / HIPAA attestation package
- Staged OTP upgrade plan with rollback
- 24/7 reactive support
OSSeva Operate
Full MSP: 24/7 BEAM monitoring, 15-min SLA, named Erlang engineers.
- Everything in Assure
- 24/7 scheduler, memory and process-count monitoring
- 15-minute P1 incident response SLA
- Named senior Erlang/OTP engineer
- Crash dump and BEAM-level incident forensics
- Rolling OTP upgrade execution across clusters
- Quarterly runtime capacity reviews
All tiers priced per cluster/application — not per core.
How it installs
OSSeva artifacts arrive via your existing package infrastructure. Pull the patched version the same way you pull upstream today — just from the OSSeva registry.
# The broker version is not the runtime version. Check both.
rabbitmqctl status | grep -A2 'Erlang'
# Or directly from the VM
erl -noshell -eval \
'io:format("~s~n",[erlang:system_info(otp_release)]), halt().'
# Full release string, including patch level
cat "$(erl -noshell -eval \
'io:format("~s",[code:root_dir()]), halt().')/releases/RELEASES" | head -1# Debian / Ubuntu
curl -fsSL https://artifacts.osseva.io/gpg | \
gpg --dearmor -o /usr/share/keyrings/osseva.gpg
echo "deb [signed-by=/usr/share/keyrings/osseva.gpg] \
https://artifacts.osseva.io/deb stable main" \
> /etc/apt/sources.list.d/osseva.list
apt update && apt install esl-erlang=1:26.2.5.21-osseva-1
# Container image with a matched broker + runtime pair
docker pull artifacts.osseva.io/rabbitmq:3.13.7-otp26-osseva-1Migrate from Unsupported community OTP builds
Teams running OTP 24, 25 or 26 from distribution packages or the Erlang Solutions repository stop receiving security updates once the community window closes — the packages remain installable, which is exactly why the exposure goes unnoticed. OSSeva ships drop-in replacement builds from the same release line, so the version string your application checks does not change.
Pricing model
OSSeva for Erlang/OTP is priced per cluster and is bundled at no additional cost with OSSeva for RabbitMQ.
Is Erlang/OTP 25 still supported?
No. The Erlang/OTP team supports only the three newest major releases, now OTP 29, 28 and 27. OTP 25 was first released on 18 May 2022, and its last patch release, 25.3.2.21, shipped on 8 May 2025. RabbitMQ 3.11 runs only on OTP 25, so those clusters cannot move the runtime without a broker upgrade. OSSeva ships patched OTP 25 builds today.
How long does Erlang/OTP support each major release?
The Erlang/OTP security policy supports the last three major releases with maintenance and security patches. OTP 29.0 shipped on 13 May 2026 and the latest release is 29.1.2, so OTP 29, 28 and 27 are supported and OTP 26 and older are not. Majors ship each May, so a release gets about three years before the third release after it ends its support.
Is OTP 26 still supported?
No. OTP 26 reached community end of life on 26 May 2026. It still runs, still reports a valid version, and still passes most inventory checks — which is why so many clusters are sitting on it. It does not receive security patches. OSSeva continues to ship patched OTP 26 builds for customers who cannot move the runtime yet.
Do I need to patch Erlang if I already patch RabbitMQ?
Yes. They are separate codebases with separate advisories. RabbitMQ is an Erlang application; the TLS termination, cryptography, SSH and networking beneath it come from OTP itself. A vulnerability in Erlang's TLS or public_key application is exploitable through the broker regardless of how current the broker is.
Can I upgrade OTP without upgrading RabbitMQ?
Only within the band each broker release supports. Every RabbitMQ version declares a minimum and maximum OTP release, and moving outside it will refuse to boot or fail in subtle ways under load. OSSeva's compatibility matrix maps your current pairs and identifies which upgrades can be done independently and which must be coordinated.
Does OSSeva cover Elixir applications running on patched OTP?
Yes. Elixir compiles to BEAM bytecode and runs on the same runtime, so OSSeva's patched OTP builds cover Elixir workloads including Phoenix applications. The Elixir standard library is a separate project with its own release cadence, and OSSeva covers it alongside the runtime for the Elixir versions you run.
Which other projects depend on Erlang/OTP?
The ones most often found in enterprise estates are RabbitMQ, ejabberd and MongooseIM for messaging, CouchDB for storage, and VerneMQ and EMQX for MQTT. All of them inherit whatever the underlying OTP release is exposed to, and all of them are frequently deployed with a runtime nobody has revisited since installation.
Who provides Erlang/OTP support besides the Erlang/OTP team?
The Erlang/OTP team supports the last three major releases. Operating system distribution packages and the Erlang Solutions repository follow the same window, so they stop receiving security updates once it closes. Third-party support companies cover the gap. OSSeva is a third-party option: one contract with your RabbitMQ and wider stack, end-of-life OTP releases included, and drop-in builds that run wherever you run the runtime.
Does OSSeva support current Erlang/OTP versions or only end-of-life ones?
Both. OSSeva's support matrix lists OTP 24, 25 and 26 as community end of life, OTP 27 and 28 as extended with community support to 20 May 2027 and 20 May 2028, and OTP 29 as current with community support to 11 May 2029, all with OSSeva patches active. Assure adds a staged OTP upgrade plan with rollback, and Operate includes rolling OTP upgrade execution across clusters.
How is OSSeva Erlang/OTP support priced?
OSSeva Erlang/OTP support is priced per cluster and is bundled at no additional cost with OSSeva for RabbitMQ. Patch covers security patches for the OTP release your brokers run on, Assure adds 24/7 reactive support and the OTP upgrade path, and Operate adds proactive 24/7 monitoring and managed operations with a 15-minute P1 SLA. OSSeva Operate patches Critical CVEs (CVSS ≥ 9.0) within 48 hours and High within 7 days. Book a discovery call for a quote.
Get a quote
Ready to get Erlang/OTP patched and supported?
Tell us your Erlang/OTP versions and an engineer replies within 1 business day with coverage and a price. Prefer a call? It takes 15 minutes.
Prefer to talk or read more first?