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 forTeams running RabbitMQ, ejabberd, CouchDB or their own Erlang and Elixir services on OTP 24, 25 or 26
What you getDrop-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 pricedPer cluster, bundled with OSSeva for RabbitMQ. Ask for a quote.
What happens nextYou 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

Only your email is required · An engineer replies within 1 business day · No commitment

Trusted globally by enterprises

NokiaSquareLittle CaesarsPanasonic ConnectPaylocity

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.

LineEnd of lifeFinal releaseEntries since
OTP 2410 May 202424.3.4.1724
OTP 2517 May 202525.3.2.2123
OTP 2626 May 202626.2.5.2121
OTP 2720 May 2027SupportedNot applicable
OTP 2820 May 2028SupportedNot applicable
OTP 2911 May 2029SupportedNot 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
CVEPublishedCVSSAffected range (NVD)Fixed upstream in
CVE-2026-497592026-06-108.2>=17.0 <27.3.4.13; >=28.0 <28.5.0.2; >=29.0 <29.0.2See advisory
CVE-2026-559522026-07-027.5>=22.2 <27.3.4.14; >=28.0 <28.5.0.3; >=29.0 <29.0.3See advisory
CVE-2026-559532026-07-277.4OTP 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-592512026-07-277.5OTP 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-582272026-07-277.5OTP 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-592502026-07-278.3OTP 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-427922026-07-277.5>=17.0 <27.3.4; >=28.0 <28.5.0.4; >=29.0 <29.0.4See advisory
CVE-2026-748352026-09-018.7OTP 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-732762026-09-018.3OTP 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-663572026-09-018.3OTP 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-738122026-09-018.3OTP 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-696642026-09-018.7OTP 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-703992026-09-018.7OTP 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-713802026-09-018.7OTP 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-755382026-09-018.2OTP 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-668352026-09-018.2OTP 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-732702026-09-018.2OTP 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-559512026-09-018.2OTP 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-894222026-09-229.3OTP 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-656342026-09-228.2OTP 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-689562026-09-227.1OTP 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.

VersionStatusActive CVEs
OTP 24(Community EOL 10 May 2024 — OSSeva patched)EOLClean
OTP 25(Community EOL 17 May 2025 — OSSeva patched)EOLClean
OTP 26(Community EOL 26 May 2026 — OSSeva patched)EOLClean
OTP 27(Community support to 20 May 2027)ExtendedClean
OTP 28(Community support to 20 May 2028)ExtendedClean
OTP 29(Released 13 May 2026; community support to 11 May 2029)CurrentClean
Erlang/OTP end of life dates for every version →

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
Most popular

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.

Check the OTP release under a running brokerbash
# 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
OSSeva OTP packagesbash
# 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-1

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

Learn about full migration →

Compliance library

📄SOC 2 compliance evidence package
Request →
📄Sample Audit Narrative
Request →
📄Pen-Test Report Summary
Request →
📄HIPAA Technical Safeguard Matrix
Request →

Questions

Frequently asked questions

Book a 15-minute call

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.

Only your email is required · An engineer replies within 1 business day · No commitment

Prefer to talk or read more first?

Book a call