CVE-2026-115693 json
Custom cacerts or cacertfile do not restrict trust to the pinned CA in hackney
published 14d ago modified 7d ago also EEF-CVE-2026-115693 , EUVD-2026-109836
- cvss
- 9.1
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 18%
- public exploits
- 0
- none known
Summary
Improper Certificate Validation vulnerability in hackney_ssl in benoitc hackney allows an on-path attacker to impersonate a server pinned to a private certificate authority via a certificate chain that ends in a publicly trusted root. hackney adds {partial_chain, fun hackney_ssl:partial_chain/1} to every verify_peer configuration. The callback returns any certificate in the peer chain whose public key matches a root in the bundled certifi store as the trust anchor, and OTP honours that callback over the configured cacerts. hackney_ssl:merge_ssl_opts/3 kept the callback when the caller replaced the trust store with cacerts or cacertfile in ssl_options, so a connection pinned to a private CA still accepted any chain that carried a publicly trusted root.
The hostname check still applies, so the attacker needs a publicly trusted certificate for the pinned hostname.
This issue affects hackney: from 1.24.0 before 4.9.0.
Patch / fix
- hex hackney 4.9.0
- benoitc hackney 4.9.0
- github.com/benoitc/hackney@d8a9afc commit
- github.com/benoitc/hackney@915eb57 commit
- github.com/benoitc/hackney#978 pull request
- github.com/benoitc/hackney/releases/tag/4.9.0 release
Is CVE-2026-115693 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 7d ago
Exploit prediction
0.27% chance of exploitation in the next 30 days, higher than 18% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 9.1 | CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N |
| CNA | 4.0 | 9.1 | CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| hex | hackney | >=1.24.0, <4.9.0 |
4.9.0 |
Affected products
- benoitc hackney
Classification
- Weakness
-
- CWE-295 Improper Certificate Validation
References
-
github.com
/benoitc/hackney/pull/978
related, web
-
github.com
/benoitc/hackney/commit/d8a9afcf5c3849904274e2eba1df56c63d1a1a0c
related, web
-
github.com
/benoitc/hackney/commit/915eb5737e9c489d8fc22eec8cdae30e9b027be4
patch
-
github.com
/benoitc/hackney/releases/tag/4.9.0
vendor-advisory, related, advisory
-
cna.erlef.org
/cves/CVE-2026-115693.html
related, web
-
osv.dev
/vulnerability/EEF-CVE-2026-115693
related
-
hex.pm
/packages/hackney
package
Sources
- CVE List CVE-2026-115693
- NVD CVE-2026-115693
- OSV EEF-CVE-2026-115693
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.