CVE-2026-94206 json
Cloak PBKDF2 field ignores the configured iteration count and runs only :size rounds
published last mo. modified last mo. also EEF-CVE-2026-94206 , EUVD-2026-93091
- cvss
- 6.3
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 15%
- public exploits
- 0
- none known
Summary
Use of Password Hash With Insufficient Computational Effort vulnerability in danielberkompas cloak_ecto and danielberkompas cloak allows an attacker who holds the hashed values and the configured secret to brute-force low-entropy plaintexts much faster than configured.
The dump/1 callback that Cloak.Ecto.PBKDF2 (Cloak.Fields.PBKDF2 in cloak before the Ecto code moved to cloak_ecto) injects into a field module calls :pbkdf2.pbkdf2/4 with config[:size] in the iteration-count position. The :iterations setting is validated but never used. With the cloak_ecto defaults (iterations: 600_000, size: 32) each hash runs 32 PBKDF2 rounds instead of 600,000, so offline guessing of values such as email addresses costs about 18,750 times less than configured.
This issue affects cloak_ecto: from 1.0.0-alpha.0 onward; cloak: from 0.7.0 before 1.0.0-alpha.0.
Patch / fix
- hex cloak 1.0.0-alpha.0
- danielberkompas cloak 1.0.0-alpha.0
Is CVE-2026-94206 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
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- last mo.
Exploit prediction
0.25% chance of exploitation in the next 30 days, higher than 15% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.3 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N |
| CNA | 4.0 | 6.3 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/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 | cloak_ecto | >=1.0.0-alpha.0 |
no fix listed |
| hex | cloak | >=0.7.0, <1.0.0-alpha.0 |
1.0.0-alpha.0 |
Affected products
- danielberkompas cloak_ecto
- danielberkompas cloak
Classification
- Weakness
-
- CWE-916 Use of Password Hash With Insufficient Computational Effort
References
-
github.com
/danielberkompas/cloak_ecto/commit/a8fa1642b02f1c445a1ee8794c9095eb0921f8f3
related, web
-
github.com
/danielberkompas/cloak/commit/8699e6417a162c39d9f0ef63511bd23d3f38d1d2
related, web
-
github.com
/danielberkompas/cloak/commit/681c9702b7cd9afe0e5a840751ab009f550c69a9
patch
-
cna.erlef.org
/cves/CVE-2026-94206.html
related, third-party-advisory, web
-
osv.dev
/vulnerability/EEF-CVE-2026-94206
related
-
hex.pm
/packages/cloak_ecto
package
-
hex.pm
/packages/cloak
package
Sources
- CVE List CVE-2026-94206
- NVD CVE-2026-94206
- OSV EEF-CVE-2026-94206
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.