CVE-2026-103503 Hex trusts its bundled CA certificates when cacerts_path is set
Attackers can bypass certificate validation in Hex when a custom CA path is configured, allowing host impersonation via bundled CA trust.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-103503?
CVE-2026-103503 is a medium-severity vulnerability in hexpm hex, published on 12 Oct 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
Improper Certificate Validation vulnerability in hexpm hex allows an attacker who can intercept HTTPS connections, and holds a certificate for a Hex host issued by a CA in Hex's bundled CA store, to impersonate that host to users who set cacerts_path to a CA store that leaves that CA out.
cacerts_path (HEX_CACERTS_PATH) is documented as the path to the CA certificate store, used instead of the CA bundle that ships with Hex. Hex.HTTP.SSL.ssl_opts/1 passes the configured store as the cacerts option, but builds the partial_chain callback from the bundled store whether cacerts_path is set or not. Hex.HTTP.SSL.partial_chain/2 accepts a server chain when any certificate in it has the same public key as a bundled CA certificate, so a chain that leads to a bundled CA passes verification although the configured store doesn't contain that CA. Hostname verification still applies.
This issue affects hex: from 0.20.2 before 2.5.2.
Weakness: CWE-295
Which versions are affected by CVE-2026-103503?
How do I fix CVE-2026-103503?
Upgrade to a fixed version.
Is CVE-2026-103503 being exploited?
There is no known exploitation of CVE-2026-103503 in the wild and no public exploit code.
Sources
Also known as DEBIAN-CVE-2026-103503, EEF-CVE-2026-103503, GHSA-rw8q-hg7m-cxgr, UBUNTU-CVE-2026-103503.