hex_core
Reference implementation of Hex specifications
Activity
- Latest release
- 1w ago
- Total releases
- 48
- Cadence
- ~17 days
- Last 12 months
- 15
Details
- License
- Apache-2.0
- First release
- Aug 08, 2018
| Version | Released | |
|---|---|---|
0.21.1
patch
| ||
0.21.0
minor
| ||
0.20.1
patch
| ||
0.20.0
minor
1 CVE
CVE-2026-96596
EEF-CVE-2026-96596
GHSA-phm5-m6cj-5382
Oct 14, 2026
erl_tar:extract/2 loops forever on a GNU sparse member with a trailing hole
High
Local
Low
None
None
SummaryLoop with Unreachable Exit Condition ('Infinite Loop') vulnerability in Erlang OTP stdlib ( When hex_core ships its own copy of This issue affects OTP from OTP 29.0 before OTP 29.1.2, corresponding to rebar3 from 3.27.1 before 3.28.0, and stdlib from 8.0 before 8.1.1, and hex from 2.4.2 before 2.5.3; hex_core: from 0.14.0 before 0.20.1. Details1. Chunked extraction. 2. Clause order in 3. Unbounded recursion. The member is a GNU sparse member (typeflag 4. No mitigation from Proof of concept
ImpactAn attacker who can get an application to extract a tar archive to disk keeps the extracting process and one scheduler busy forever. Each further archive occupies another scheduler, until the node stops responding. WorkaroundsPass Alternatively, extract with the Affected versions
0.14.0
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.20.0
Fixed in
0.20.1
References
Updated Oct 22, 2026 · Source: OSV.dev | ||
0.19.0
minor
3 CVEs
CVE-2026-96596
EEF-CVE-2026-96596
GHSA-phm5-m6cj-5382
Oct 14, 2026
erl_tar:extract/2 loops forever on a GNU sparse member with a trailing hole
High
Local
Low
None
None
SummaryLoop with Unreachable Exit Condition ('Infinite Loop') vulnerability in Erlang OTP stdlib ( When hex_core ships its own copy of This issue affects OTP from OTP 29.0 before OTP 29.1.2, corresponding to rebar3 from 3.27.1 before 3.28.0, and stdlib from 8.0 before 8.1.1, and hex from 2.4.2 before 2.5.3; hex_core: from 0.14.0 before 0.20.1. Details1. Chunked extraction. 2. Clause order in 3. Unbounded recursion. The member is a GNU sparse member (typeflag 4. No mitigation from Proof of concept
ImpactAn attacker who can get an application to extract a tar archive to disk keeps the extracting process and one scheduler busy forever. Each further archive occupies another scheduler, until the node stops responding. WorkaroundsPass Alternatively, extract with the Affected versions
0.14.0
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.20.0
Fixed in
0.20.1
References
Updated Oct 22, 2026 · Source: OSV.dev
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev | ||
0.18.0
minor
3 CVEs
CVE-2026-96596
EEF-CVE-2026-96596
GHSA-phm5-m6cj-5382
Oct 14, 2026
erl_tar:extract/2 loops forever on a GNU sparse member with a trailing hole
High
Local
Low
None
None
SummaryLoop with Unreachable Exit Condition ('Infinite Loop') vulnerability in Erlang OTP stdlib ( When hex_core ships its own copy of This issue affects OTP from OTP 29.0 before OTP 29.1.2, corresponding to rebar3 from 3.27.1 before 3.28.0, and stdlib from 8.0 before 8.1.1, and hex from 2.4.2 before 2.5.3; hex_core: from 0.14.0 before 0.20.1. Details1. Chunked extraction. 2. Clause order in 3. Unbounded recursion. The member is a GNU sparse member (typeflag 4. No mitigation from Proof of concept
ImpactAn attacker who can get an application to extract a tar archive to disk keeps the extracting process and one scheduler busy forever. Each further archive occupies another scheduler, until the node stops responding. WorkaroundsPass Alternatively, extract with the Affected versions
0.14.0
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.20.0
Fixed in
0.20.1
References
Updated Oct 22, 2026 · Source: OSV.dev
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev | ||
0.17.0
minor
3 CVEs
CVE-2026-96596
EEF-CVE-2026-96596
GHSA-phm5-m6cj-5382
Oct 14, 2026
erl_tar:extract/2 loops forever on a GNU sparse member with a trailing hole
High
Local
Low
None
None
SummaryLoop with Unreachable Exit Condition ('Infinite Loop') vulnerability in Erlang OTP stdlib ( When hex_core ships its own copy of This issue affects OTP from OTP 29.0 before OTP 29.1.2, corresponding to rebar3 from 3.27.1 before 3.28.0, and stdlib from 8.0 before 8.1.1, and hex from 2.4.2 before 2.5.3; hex_core: from 0.14.0 before 0.20.1. Details1. Chunked extraction. 2. Clause order in 3. Unbounded recursion. The member is a GNU sparse member (typeflag 4. No mitigation from Proof of concept
ImpactAn attacker who can get an application to extract a tar archive to disk keeps the extracting process and one scheduler busy forever. Each further archive occupies another scheduler, until the node stops responding. WorkaroundsPass Alternatively, extract with the Affected versions
0.14.0
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.20.0
Fixed in
0.20.1
References
Updated Oct 22, 2026 · Source: OSV.dev
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev | ||
0.16.1
patch
3 CVEs
CVE-2026-96596
EEF-CVE-2026-96596
GHSA-phm5-m6cj-5382
Oct 14, 2026
erl_tar:extract/2 loops forever on a GNU sparse member with a trailing hole
High
Local
Low
None
None
SummaryLoop with Unreachable Exit Condition ('Infinite Loop') vulnerability in Erlang OTP stdlib ( When hex_core ships its own copy of This issue affects OTP from OTP 29.0 before OTP 29.1.2, corresponding to rebar3 from 3.27.1 before 3.28.0, and stdlib from 8.0 before 8.1.1, and hex from 2.4.2 before 2.5.3; hex_core: from 0.14.0 before 0.20.1. Details1. Chunked extraction. 2. Clause order in 3. Unbounded recursion. The member is a GNU sparse member (typeflag 4. No mitigation from Proof of concept
ImpactAn attacker who can get an application to extract a tar archive to disk keeps the extracting process and one scheduler busy forever. Each further archive occupies another scheduler, until the node stops responding. WorkaroundsPass Alternatively, extract with the Affected versions
0.14.0
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.20.0
Fixed in
0.20.1
References
Updated Oct 22, 2026 · Source: OSV.dev
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev | ||
0.16.0
minor
3 CVEs
CVE-2026-96596
EEF-CVE-2026-96596
GHSA-phm5-m6cj-5382
Oct 14, 2026
erl_tar:extract/2 loops forever on a GNU sparse member with a trailing hole
High
Local
Low
None
None
SummaryLoop with Unreachable Exit Condition ('Infinite Loop') vulnerability in Erlang OTP stdlib ( When hex_core ships its own copy of This issue affects OTP from OTP 29.0 before OTP 29.1.2, corresponding to rebar3 from 3.27.1 before 3.28.0, and stdlib from 8.0 before 8.1.1, and hex from 2.4.2 before 2.5.3; hex_core: from 0.14.0 before 0.20.1. Details1. Chunked extraction. 2. Clause order in 3. Unbounded recursion. The member is a GNU sparse member (typeflag 4. No mitigation from Proof of concept
ImpactAn attacker who can get an application to extract a tar archive to disk keeps the extracting process and one scheduler busy forever. Each further archive occupies another scheduler, until the node stops responding. WorkaroundsPass Alternatively, extract with the Affected versions
0.14.0
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.20.0
Fixed in
0.20.1
References
Updated Oct 22, 2026 · Source: OSV.dev
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev | ||
0.15.0
minor
3 CVEs
CVE-2026-96596
EEF-CVE-2026-96596
GHSA-phm5-m6cj-5382
Oct 14, 2026
erl_tar:extract/2 loops forever on a GNU sparse member with a trailing hole
High
Local
Low
None
None
SummaryLoop with Unreachable Exit Condition ('Infinite Loop') vulnerability in Erlang OTP stdlib ( When hex_core ships its own copy of This issue affects OTP from OTP 29.0 before OTP 29.1.2, corresponding to rebar3 from 3.27.1 before 3.28.0, and stdlib from 8.0 before 8.1.1, and hex from 2.4.2 before 2.5.3; hex_core: from 0.14.0 before 0.20.1. Details1. Chunked extraction. 2. Clause order in 3. Unbounded recursion. The member is a GNU sparse member (typeflag 4. No mitigation from Proof of concept
ImpactAn attacker who can get an application to extract a tar archive to disk keeps the extracting process and one scheduler busy forever. Each further archive occupies another scheduler, until the node stops responding. WorkaroundsPass Alternatively, extract with the Affected versions
0.14.0
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.20.0
Fixed in
0.20.1
References
Updated Oct 22, 2026 · Source: OSV.dev
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev | ||
0.14.1
patch
3 CVEs
CVE-2026-96596
EEF-CVE-2026-96596
GHSA-phm5-m6cj-5382
Oct 14, 2026
erl_tar:extract/2 loops forever on a GNU sparse member with a trailing hole
High
Local
Low
None
None
SummaryLoop with Unreachable Exit Condition ('Infinite Loop') vulnerability in Erlang OTP stdlib ( When hex_core ships its own copy of This issue affects OTP from OTP 29.0 before OTP 29.1.2, corresponding to rebar3 from 3.27.1 before 3.28.0, and stdlib from 8.0 before 8.1.1, and hex from 2.4.2 before 2.5.3; hex_core: from 0.14.0 before 0.20.1. Details1. Chunked extraction. 2. Clause order in 3. Unbounded recursion. The member is a GNU sparse member (typeflag 4. No mitigation from Proof of concept
ImpactAn attacker who can get an application to extract a tar archive to disk keeps the extracting process and one scheduler busy forever. Each further archive occupies another scheduler, until the node stops responding. WorkaroundsPass Alternatively, extract with the Affected versions
0.14.0
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.20.0
Fixed in
0.20.1
References
Updated Oct 22, 2026 · Source: OSV.dev
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev | ||
0.14.0
minor
3 CVEs
CVE-2026-96596
EEF-CVE-2026-96596
GHSA-phm5-m6cj-5382
Oct 14, 2026
erl_tar:extract/2 loops forever on a GNU sparse member with a trailing hole
High
Local
Low
None
None
SummaryLoop with Unreachable Exit Condition ('Infinite Loop') vulnerability in Erlang OTP stdlib ( When hex_core ships its own copy of This issue affects OTP from OTP 29.0 before OTP 29.1.2, corresponding to rebar3 from 3.27.1 before 3.28.0, and stdlib from 8.0 before 8.1.1, and hex from 2.4.2 before 2.5.3; hex_core: from 0.14.0 before 0.20.1. Details1. Chunked extraction. 2. Clause order in 3. Unbounded recursion. The member is a GNU sparse member (typeflag 4. No mitigation from Proof of concept
ImpactAn attacker who can get an application to extract a tar archive to disk keeps the extracting process and one scheduler busy forever. Each further archive occupies another scheduler, until the node stops responding. WorkaroundsPass Alternatively, extract with the Affected versions
0.14.0
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.20.0
Fixed in
0.20.1
References
Updated Oct 22, 2026 · Source: OSV.dev
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev | ||
0.13.0
minor
2 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev | ||
0.12.2
patch
2 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev | ||
0.12.1
patch
2 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev | ||
0.12.0
minor
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.11.0
minor
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.10.3
patch
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.10.2
patch
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.10.1
patch
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.10.0
minor
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.9.0
minor
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.8.4
patch
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.8.3
patch
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.8.2
patch
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.8.1
patch
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.8.0
minor
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.7.1
patch
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.7.0
minor
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.6.10
patch
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.6.9
patch
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.6.8
patch
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.6.7
patch
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.6.6
patch
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.6.5
patch
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.6.4
patch
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.6.3
patch
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.6.2
patch
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.6.1
patch
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.5.1
patch
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.6.0
minor
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.5.0
minor
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.4.0
minor
3 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev | ||
0.3.0
minor
4 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev
CVE-2019-1000013
GHSA-q3cc-rr2c-87r6
May 13, 2022
Hex authenticity of signed packages not validated
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
Hex package manager hex_core version 0.3.0 and earlier contains a Signing oracle vulnerability in Package registry verification that can result in Package modifications not detected, allowing code execution. This attack appears to be exploitable via victim fetches packages from malicious/compromised mirror. This vulnerability appears to have been fixed in 0.4.0. Affected versions
0.1.0
0.1.1
0.2.0
0.2.1
0.3.0
Fixed in
0.4.0
References Updated Dec 10, 2025 · Source: OSV.dev | ||
0.2.1
patch
4 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev
CVE-2019-1000013
GHSA-q3cc-rr2c-87r6
May 13, 2022
Hex authenticity of signed packages not validated
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
Hex package manager hex_core version 0.3.0 and earlier contains a Signing oracle vulnerability in Package registry verification that can result in Package modifications not detected, allowing code execution. This attack appears to be exploitable via victim fetches packages from malicious/compromised mirror. This vulnerability appears to have been fixed in 0.4.0. Affected versions
0.1.0
0.1.1
0.2.0
0.2.1
0.3.0
Fixed in
0.4.0
References Updated Dec 10, 2025 · Source: OSV.dev | ||
0.2.0
minor
4 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev
CVE-2019-1000013
GHSA-q3cc-rr2c-87r6
May 13, 2022
Hex authenticity of signed packages not validated
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
Hex package manager hex_core version 0.3.0 and earlier contains a Signing oracle vulnerability in Package registry verification that can result in Package modifications not detected, allowing code execution. This attack appears to be exploitable via victim fetches packages from malicious/compromised mirror. This vulnerability appears to have been fixed in 0.4.0. Affected versions
0.1.0
0.1.1
0.2.0
0.2.1
0.3.0
Fixed in
0.4.0
References Updated Dec 10, 2025 · Source: OSV.dev | ||
0.1.1
patch
4 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev
CVE-2019-1000013
GHSA-q3cc-rr2c-87r6
May 13, 2022
Hex authenticity of signed packages not validated
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
Hex package manager hex_core version 0.3.0 and earlier contains a Signing oracle vulnerability in Package registry verification that can result in Package modifications not detected, allowing code execution. This attack appears to be exploitable via victim fetches packages from malicious/compromised mirror. This vulnerability appears to have been fixed in 0.4.0. Affected versions
0.1.0
0.1.1
0.2.0
0.2.1
0.3.0
Fixed in
0.4.0
References Updated Dec 10, 2025 · Source: OSV.dev | ||
0.1.0
initial
4 CVEs
CVE-2026-105274
EEF-CVE-2026-105274
GHSA-7c4r-cgf9-9jmq
Oct 12, 2026
hex_core decompresses registry and Erlang term API responses without size limits
Medium
Network
Low
None
SummaryImproper Handling of Highly Compressed Data (Data Amplification) vulnerability in hexpm hex_core allows an untrusted repository mirror, or a server answering hex_core's API requests, to exhaust the memory of the Erlang VM running hex_core. The same code is vendored in Hex (
This issue affects rebar3: from 3.9.1 before 3.27.3; hex: from 2.1.0 before 2.5.2; hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactA mirror can make every registry fetch allocate memory far beyond the size of its response: in a test against Hex main 851b938, which vendors this code, a 65 KB registry response decompressed into a 64 MiB envelope before the signature check failed. The API server, or an attacker who can alter its responses, can do the same with API responses: 8 KB of compressed Erlang term format decoded into a list of 4.2 million elements. Large enough responses stop the Erlang VM, which fails the build tool command or the program using hex_core. No package code has to run. WorkaroundsPoint repository URLs at repo.hex.pm or a mirror you operate, and the API URL at hex.pm. ConfigurationsRegistry decoding is affected when a repository's URL points at a mirror or another server the user doesn't trust with the availability of their builds, for example Hex's SolutionsUpgrade hex_core to 0.20.0 or later. Registry resources larger than 16 MiB after decompression are rejected with Upgrade Hex to 2.5.2 or later, which vendors hex_core 0.20.0. No rebar3 release vendors hex_core 0.20.0 yet. Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-103502
EEF-CVE-2026-103502
GHSA-p26c-h8c2-rwqj
Oct 12, 2026
hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
High
Network
Low
None
SummaryImproper Certificate Validation vulnerability in hexpm hex_core allows an attacker who can intercept HTTPS connections to impersonate hex.pm, repo.hex.pm or any other repository or API server to programs that use hex_core's default HTTP adapter on Erlang/OTP 24, or on OTP 25 when the operating system's CA certificates can't be loaded.
The fallback was intended and documented, but the documentation didn't make clear that it meant no certificate verification. Since hex_core 0.8.2 the README has warned that the built-in httpc adapter "has insecure default settings" and recommended other HTTP clients, and the adapter prints "using default ssl options which are insecure" on every request that falls back. hex_core 0.11.0 added certificate verification with the changelog entry "Use secure SSL defaults for OTP 25+". Neither the README nor the warning says that the server certificate isn't verified, the README doesn't say which OTP versions the warning applies to, and on OTP 25 without CA certificates the warning tells users to upgrade to OTP 25 or later, which they already run. This advisory is published so that users who took those notices as general advice know their HTTPS requests weren't authenticated. This issue affects hex_core: from 0.1.0 before 0.20.0. Details
Proof of concept
ImpactAn attacker on the network path between a program using hex_core's default adapter and a Hex repository or API server completes the TLS handshake with any certificate. It receives the API keys, OAuth tokens and repository keys the program sends, and can alter API requests and responses. Registry signatures, which hex_core verifies by default, still prevent changes to registry contents. Hex and rebar3 aren't affected because they configure their own HTTP adapters. WorkaroundsPass ConfigurationsAffects programs that use the SolutionsUpgrade hex_core to 0.20.0 or later. On OTP 24, or on OTP 25 without the operating system's CA certificates, HTTPS requests through Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.12.1
0.12.2
0.13.0
0.14.0
+ 32 more Show less
0.14.1
0.15.0
0.16.0
0.16.1
0.17.0
0.18.0
0.19.0
0.2.0
0.2.1
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.20.0
References
Updated Oct 12, 2026 · Source: OSV.dev
CVE-2026-21619
GHSA-hx9w-f2w9-9g96
EEF-CVE-2026-21619
Mar 01, 2026
hex_core has Unsafe Deserialization of Erlang Terms
Low
Network
Low
Low
ImpactThe Hex client ( If an attacker can control the HTTP response body returned by the Hex API, this allows denial-of-service attacks such as atom table exhaustion, leading to a VM crash. No released versions are known to allow remote code execution. Patches
WorkaroundsEnsure that the Hex API URL ( Resources
Affected versions
0.1.0
0.1.1
0.10.0
0.10.1
0.10.2
0.10.3
0.11.0
0.12.0
0.2.0
0.2.1
0.3.0
0.4.0
+ 21 more Show less
0.5.0
0.5.1
0.6.0
0.6.1
0.6.10
0.6.2
0.6.3
0.6.4
0.6.5
0.6.6
0.6.7
0.6.8
0.6.9
0.7.0
0.7.1
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.9.0
Fixed in
0.12.1
References
Updated Apr 06, 2026 · Source: OSV.dev
CVE-2019-1000013
GHSA-q3cc-rr2c-87r6
May 13, 2022
Hex authenticity of signed packages not validated
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
Hex package manager hex_core version 0.3.0 and earlier contains a Signing oracle vulnerability in Package registry verification that can result in Package modifications not detected, allowing code execution. This attack appears to be exploitable via victim fetches packages from malicious/compromised mirror. This vulnerability appears to have been fixed in 0.4.0. Affected versions
0.1.0
0.1.1
0.2.0
0.2.1
0.3.0
Fixed in
0.4.0
References Updated Dec 10, 2025 · Source: OSV.dev |