{"id":"CVE-2026-94206","summary":"Cloak PBKDF2 field ignores the configured iteration count and runs only :size rounds","details":"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.\n\nThe 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.\n\nThis issue affects cloak_ecto: from 1.0.0-alpha.0 onward; cloak: from 0.7.0 before 1.0.0-alpha.0.","aliases":["EEF-CVE-2026-94206"],"modified":"2026-10-08T02:52:38.457999011Z","published":"2026-10-06T08:38:04.584Z","database_specific":{"cna_assigner":"EEF","cwe_ids":["CWE-916"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/94xxx/CVE-2026-94206.json","unresolved_ranges":[{"extracted_events":[{"introduced":"1.0.0-alpha.0"},{"fixed":"*"},{"introduced":"a8fa1642b02f1c445a1ee8794c9095eb0921f8f3"},{"fixed":"*"}],"source":"AFFECTED_FIELD"}]},"references":[{"type":"WEB","url":"https://github.com"},{"type":"WEB","url":"https://osv.dev/vulnerability/EEF-CVE-2026-94206"},{"type":"WEB","url":"https://repo.hex.pm"},{"type":"ADVISORY","url":"https://cna.erlef.org/cves/CVE-2026-94206.html"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/94xxx/CVE-2026-94206.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-94206"},{"type":"FIX","url":"https://github.com/danielberkompas/cloak/commit/681c9702b7cd9afe0e5a840751ab009f550c69a9"},{"type":"FIX","url":"https://github.com/danielberkompas/cloak/commit/8699e6417a162c39d9f0ef63511bd23d3f38d1d2"},{"type":"FIX","url":"https://github.com/danielberkompas/cloak_ecto/commit/a8fa1642b02f1c445a1ee8794c9095eb0921f8f3"},{"type":"PACKAGE","url":"https://github.com/danielberkompas/cloak"},{"type":"PACKAGE","url":"https://github.com/danielberkompas/cloak_ecto"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/danielberkompas/cloak","events":[{"introduced":"8699e6417a162c39d9f0ef63511bd23d3f38d1d2"},{"fixed":"681c9702b7cd9afe0e5a840751ab009f550c69a9"},{"introduced":"3bbb0bf2b8c1dac4190e84b00f40d7471be54f6e"},{"fixed":"3662af413d950373f8976746fae965ef5f5cd490"}],"database_specific":{"extracted_events":[{"introduced":"0.7.0"},{"fixed":"1.0.0-alpha.0"}],"source":"AFFECTED_FIELD"}},{"type":"GIT","repo":"https://github.com/danielberkompas/cloak_ecto","events":[{"introduced":"0"},{"fixed":"a8fa1642b02f1c445a1ee8794c9095eb0921f8f3"}],"database_specific":{"source":"REFERENCES"}}],"versions":["v0.9.2","v0.9.1","v0.9.0","v0.8.0","v0.7.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-94206.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"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"}]}