Skip to content

Erlang/OTP

Bug bounty on Sorona erlang.org

Accepting reports open-source
Top reward
$1,500
Top severity paid
Critical
Assets in scope
13
Public CVEs
51
Last change
No changes yet

At a glance

What to know before you start testing.

Pays from $1,500
for critical bugs.
Partial safe harbor
Some legal protection; read the terms.
Publish after a fix
Coordinate the timing with the company.

Rewards

What Sorona lists as the payout for each severity.

Severity Reward
Critical $1,500+
High $700+
Medium $300+
Low $100 $100 / 1 month Claude Max
Safe harbor
Partial Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf.

Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original

Scope

13 assets you may test, 6 excluded.

Web 1

  • https://www.erlang.org

Products and areas 12

  • Distribution and clustering: the node handshake, the distribution protocol, cookie-based authentication and everything a connected node is trusted to do
  • erl_interface, jinterface and the external term format, including binary_to_term on untrusted input
  • inets and the HTTP client and server code inside it
  • mnesia, ets and dets and the storage layers OTP applications keep state in
  • public_key and asn1, which decode attacker-supplied structures before any trust decision has been made
  • The BEAM virtual machine: bytecode loading and verification, the schedulers, the memory allocators and the garbage collector
  • The Erlang compiler and the bytecode it emits, plus the module loading path that accepts a compiled module
  • The NIF and port-driver boundary, where native code runs inside the VM with no isolation from it
  • The published policy asks for any vulnerability in Erlang/OTP through one of two private channels and rules out public reporting. It draws no line narrower than the OTP distribution itself
  • The ssh application, a full server implementation and one of the OTP components most often exposed directly to the internet
  • The ssl and crypto applications, covering the TLS state machine, certificate validation and the OpenSSL bindings underneath
  • The stdlib parsers and formatters, xmerl and zlib among them, that OTP applications feed unvalidated data into
Out of scope (6)
  • Anything reported through a public channel, which the policy rules out by name
  • Elixir, a separate project on the same virtual machine with its own private advisory channel
  • OpenSSL itself, as distinct from OTP's crypto and ssl bindings to it
  • Operating a distributed Erlang cluster on an untrusted network with a shared cookie, a documented deployment decision rather than a defect
  • RabbitMQ, CouchDB, ejabberd, Riak and the other products built on OTP, each with its own security process
  • Third-party Erlang libraries pulled in through rebar3 or Hex

Rules

What the policy asks of you, and the bug types it won't reward, quoted from Sorona's policy.

While testing

  • Submit through sorona.xyz.
  • Two private channels, either is fine: a GitHub Security Advisory at github.com/erlang/otp/security, or email to the address on the policy page
  • The policy is explicit that security issues must not go through public channels. No GitHub issue, no mailing list post
  • Name the OTP release and the applications involved.
  • Say whether the input reaches the VM or an OTP application.
  • Products built on OTP have their own processes.

Not accepted

  • Operating a distributed Erlang cluster on an untrusted network with a shared cookie, a documented deployment decision rather than a defect
  • Anything reported through a public channel, which the policy rules out by name

Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original

Changes

Tracked since 11 Nov 2026. Last checked 1 hour ago.

No changes yet. When the rewards or scope move, you will see it here and in the RSS feed.

Public CVEs

Published vulnerabilities in this vendor's products, from the NVD.

Search NVD
CVESeverityPublished
CVE-2026-59251 High 8.7 27 Jul 2026
CVE-2026-58227 High 8.7 27 Jul 2026
CVE-2026-55953 Critical 9.1 27 Jul 2026
CVE-2026-55737 Medium 5.1 27 Jul 2026
CVE-2026-54890 High 8.2 27 Jul 2026
CVE-2026-42792 Medium 6.3 27 Jul 2026
CVE-2026-54887 Medium 6.3 2 Jul 2026
CVE-2026-54891 Medium 6.3 2 Jul 2026
CVE-2026-55950 High 8.7 2 Jul 2026
CVE-2026-55952 High 8.2 2 Jul 2026
CVE-2026-54886 Medium 5.3 2 Jul 2026
CVE-2026-53422 Low 2.3 2 Jul 2026
CVE-2026-48860 High 7.5 10 Jun 2026
CVE-2026-49759 High 8.8 10 Jun 2026
CVE-2026-49760 Medium 6.9 10 Jun 2026
CVE-2026-48859 Medium 6.3 10 Jun 2026
CVE-2026-48858 Medium 6.3 10 Jun 2026
CVE-2026-48855 Low 2.3 10 Jun 2026
CVE-2026-48856 High 7.1 10 Jun 2026
CVE-2026-42790 High 7.6 27 May 2026
CVE-2026-42789 High 7.0 27 May 2026
CVE-2026-42791 Medium 6.3 27 May 2026
CVE-2026-32147 Medium 5.3 21 Apr 2026
CVE-2026-32144 High 7.6 7 Apr 2026
CVE-2026-28808 High 8.3 7 Apr 2026
CVE-2026-28810 Medium 6.3 7 Apr 2026
CVE-2026-23942 Medium 5.3 13 Mar 2026
CVE-2026-23943 Medium 6.9 13 Mar 2026
CVE-2026-23941 High 7.0 13 Mar 2026
CVE-2026-21619 Low 2.0 27 Feb 2026
CVE-2025-32433 Critical 10.0 16 Apr 2025
CVE-2023-48795 Medium 5.9 18 Dec 2023
CVE-2022-37026 Critical 9.8 21 Sep 2022
CVE-2021-29221 High 7.0 9 Apr 2021
CVE-2020-35733 High 7.5 15 Jan 2021
CVE-2020-25623 High 7.5 2 Oct 2020
CVE-2020-13802 Critical 9.8 2 Sep 2020
CVE-2016-1000107 Medium 6.1 10 Dec 2019
CVE-2019-1000014 High 8.8 4 Feb 2019
CVE-2017-1000385 Medium 5.9 12 Dec 2017
CVE-2016-10253 Critical 9.8 18 Mar 2017
CVE-2015-2774 Medium 5.9 7 Apr 2016
CVE-2014-1693 High 7.5 8 Dec 2014
CVE-2011-0766 High 7.8 31 May 2011
CVE-2009-0130 High 7.5 15 Jan 2009

Original policy

Copied from sorona.xyz on 12 Nov 2026. The summaries on this page are made from it; the live page may have changed since.

Skip to content What this pays This project runs no bounty of its own. sorona.xyz pays you directly on qualified, reproduced findings. Severity │ sorona.xyz pays Critical │ $1,500+ High │ $700+ Medium │ $300+ Low │ $100 / 1 month Claude Max Submit a vulnerability CVE history 45 Last 12 months 51 Lifetime Protocol implementation 35 % Authentication bypass 25 % Memory safety 25 % Info disclosure 15 % Latest advisories Loading the feed Overview Erlang/OTP is the BEAM virtual machine and the standard library that runs on it. It sits underneath RabbitMQ, CouchDB, ejabberd, Riak and the whole Elixir and Phoenix ecosystem, plus a large amount of telecom infrastructure, so a bug in OTP is a bug in a long list of products at once. The July 2026 batch is the reference point: five advisories in one release, one of them critical. This is the busiest advisory pipeline of any unpaid runtime in the set, 45 published in twelve months out of 51 ever. Neither the SECURITY.md nor erlang.org/security mentions money in any form. sorona.xyz pays you directly on qualified, reproduced findings. In scope The published policy asks for any vulnerability in Erlang/OTP through one of two private channels and rules out public reporting. It draws no line narrower than the OTP distribution itself The BEAM virtual machine: bytecode loading and verification, the schedulers, the memory allocators and the garbage collector The Erlang compiler and the bytecode it emits, plus the module loading path that accepts a compiled module Distribution and clustering: the node handshake, the distribution protocol, cookie-based authentication and everything a connected node is trusted to do The ssl and crypto applications, covering the TLS state machine, certificate validation and the OpenSSL bindings underneath The ssh application, a full server implementation and one of the OTP components most often exposed directly to the internet inets and the HTTP client and server code inside it public_key and asn1 , which decode attacker-supplied structures before any trust decision has been made The NIF and port-driver boundary, where native code runs inside the VM with no isolation from it erl_interface , jinterface and the external term format, including binary_to_term on untrusted input The stdlib parsers and formatters, xmerl and zlib among them, that OTP applications feed unvalidated data into mnesia , ets and dets and the storage layers OTP applications keep state in Out of scope RabbitMQ, CouchDB, ejabberd, Riak and the other products built on OTP, each with its own security process Elixir, a separate project on the same virtual machine with its own private advisory channel OpenSSL itself, as distinct from OTP's crypto and ssl bindings to it Operating a distributed Erlang cluster on an untrusted network with a shared cookie, a documented deployment decision rather than a defect Third-party Erlang libraries pulled in through rebar3 or Hex Anything reported through a public channel, which the policy rules out by name Most-valued findings Anything reachable in ssl or ssh before authentication completes. These are the OTP applications most often exposed directly to the internet, and pre-auth reach is the highest-severity shape this project produces Certificate validation and TLS state-machine defects in ssl , where the failure is silent and every product on top inherits it binary_to_term and external term format handling on untrusted input, the classic route from a network byte string to atom exhaustion or worse Distribution protocol and node handshake defects, since a node that joins a cluster can execute code on every other node by design Memory safety in the VM, at the NIF boundary and in the crypto bindings, where C code runs with no isolation from the scheduler it lives inside Parser defects in asn1 , public_key , xmerl and zlib , all of which decode hostile structures before anything has decided to trust them Bytecode loading and verification bypasses, given that loading a module is the most privileged operation the VM offers Anything that crosses from an OTP application into the VM itself, since the blast radius stops being one product and becomes every product on the host Program rules Submit through sorona.xyz. This project runs no bounty of its own; we validate, coordinate disclosure with the maintainers, and pay you directly. Two private channels, either is fine: a GitHub Security Advisory at github.com/erlang/otp/security, or email to [email protected] The policy is explicit that security issues must not go through public channels. No GitHub issue, no mailing list post Name the OTP release and the applications involved. OTP ships dozens of applications and the word Erlang on its own does not locate a bug Say whether the input reaches the VM or an OTP application. A defect in ssh or ssl and a defect in BEAM itself go to different people on different timelines This project ships advisories in batches. Expect your finding in the next scheduled security release rather than in a one-off patch Products built on OTP have their own processes. A RabbitMQ or CouchDB bug is theirs unless you can show it in OTP code There is no money here at any severity. The team triages properly and publishes properly, and that is what a report earns Disclosure Coordinated through GitHub Security Advisories on erlang/otp or by email with the security team, and published as a GHSA with a CVE alongside a patched release. The cadence is heavy and batched: 45 advisories in the last twelve months, including five that shipped together in July 2026, with two critical and eighteen high across the window. Plan the embargo around the next security release rather than a fixed day count, and expect a substantive triage conversation. Safe harbor Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf. You are responsible for understanding and following the laws that apply to you, wherever you are, and for staying within any scope the project has defined. Submit a vulnerability