Cloak PBKDF2 field ignores configured iteration count
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- —
- Confidentiality · integrity · availability
- Low · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA.
Summary
The cloak_ecto package from 1.0.0-alpha.0 onward and the cloak package from 0.7.0 before 1.0.0-alpha.0 contain a PBKDF2 field that ignores the configured iteration count and runs only the size value as rounds. This uses a password hash with insufficient computational effort (CWE-916), so an attacker who holds the hashed values and the configured secret can brute-force low-entropy plaintexts much faster than configured. With the cloak_ecto defaults, each hash runs 32 rounds instead of 600,000.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| danielberkompas | cloak_ecto | 1.0.0-alpha.0 and later | — | No fix listed | CNA |
| danielberkompas | cloak | 0.7.0 to before 1.0.0-alpha.0 | 1.0.0-alpha.0 | Patch available | CNA |
- cloak_ecto Vendordanielberkompas Affected 1.0.0-alpha.0 and later Fixed in — No fix listed CNA
- cloak Vendordanielberkompas Affected 0.7.0 to before 1.0.0-alpha.0 Fixed in 1.0.0-alpha.0 Patch available CNA
CPE names CNA · 2
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:danielberkompas:cloak_ecto:*:*:*:*:*:*:*:* | — | — | danielberkompas |
| cpe:2.3:a:danielberkompas:cloak:*:*:*:*:*:*:*:* | — | — | danielberkompas |
- cpe:2.3:a:danielberkompas:cloak_ecto:*:*:*:*:*:*:*:* Versions — — ·danielberkompas
- cpe:2.3:a:danielberkompas:cloak:*:*:*:*:*:*:*:* Versions — — ·danielberkompas
Remediation
For the cloak package, upgrade to 1.0.0-alpha.0, which fixes the flaw. The sources list no fixed version for cloak_ecto.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
- Fix · CNA cloak (danielberkompas) Fixed in 1.0.0-alpha.0
Timeline
- 2026-10-06 Threatist record created from CVE-2026-94206
- 2026-10-06 Alias added: GHSA-fjfg-jh7h-6w3j
- 2026-10-06 CISA SSVC decision points changed
References
More danielberkompas vulnerabilities
- TI-2026-68048 Cloak AES-CTR cipher lets attackers forge stored encrypted values CVSS 4.0HIGH 8.2
Sources
- CVE-2026-94206 · CVE Program
- CVE-2026-94206 · NVD
- FIRST EPSS
- GHSA-fjfg-jh7h-6w3j · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences