Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-103503— Hex trusts its bundled CA certificates when cacerts_path is set

Quick assessment

Affected
hexpm hex
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

以下是对该漏洞描述信息的中文翻译: 不恰当的证书验证漏洞 在 hexpm hex 中存在一个不恰当的证书验证漏洞。攻击者若能拦截 HTTPS 连接,并持有由 Hex 内置 CA 证书颁发机构(CA)签发的 Hex 主机证书,则可能向将 配置为不包含该 CA 的 CA 证书库的用户冒充该主机。 (环境变量 )文档中定义为 CA 证书存储库的路径,用于替代 Hex 随附的 CA 证书 bundle。虽然 会将配置的路径作为 选项传递,但它无论是否设置了 ,都会从内置的 CA 证书 bundle 中构建 (部分链)回调函

CVSS 5.9 · Medium EPSS 0.19% · P8

Affected Version Matrix 2

VendorProduct Version RangeStatus
hexpm hex 0.20.2< 2.5.2 affected
c9b26a46928bfcd546773571e09c1d05f4cd9fb7< * affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-103503

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Hex trusts its bundled CA certificates when cacerts_path is set
Source: CVE Program / CVE List V5
Vulnerability 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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:A/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
Source: CVE Program / CVE List V5
Vulnerability Type
证书验证不恰当
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
hexpm hex 0.20.2 ~ 2.5.2 cpe:2.3:a:hexpm:hex:*:*:*:*:*:*:*:*
hexpm hex c9b26a46928bfcd546773571e09c1d05f4cd9fb7 ~ * cpe:2.3:a:hexpm:hex:*:*:*:*:*:*:*:*

II. Public POCs for CVE-2026-103503

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-103503

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-103503 (3)

Vendor Advisories for CVE-2026-103503 (3)

Same Patch Batch · hexpm · 2026-10-12 · 7 CVEs total

CVE-2026-96612 7.5 HIGH Path traversal in Hex via unvalidated dependency app names
CVE-2026-105668 7.1 HIGH Hex release-age cooldown is lifted package-wide when the locked release is retired
CVE-2026-105280 6.9 MEDIUM Hex writes unverified package tarballs to standard output in mix hex.package fetch
CVE-2026-103502 5.9 MEDIUM hex_core's default HTTP adapter doesn't verify TLS certificates on OTP 24 and 25
CVE-2026-81856 2.3 LOW Terminal escape sequence injection in Hex via unneutralized server-supplied output
CVE-2026-96618 2.1 LOW Hex exhausts memory and disk on oversized or compressed responses from an untrusted mirror

IV. Related Vulnerabilities

V. Comments for CVE-2026-103503

No comments yet


Leave a comment