CVE-2026-65629 Details
Description
Use of Password Hash With Insufficient Computational Effort in the jose library allows an attacker who obtains a password-encrypted private-key export to recover the private key through an offline password-cracking attack. When jose exports a password-encrypted private key with jose_jwk:to_der/2 (JOSE.JWK.to_der/2), the jose_jwk_der:to_binary/3 function in src/jwk/jose_jwk_der.erl serializes the key as a PKCS#8 EncryptedPrivateKeyInfo using the PBES2 scheme with hardcoded key-derivation parameters: PBKDF2-HMAC-SHA256 with an iteration count of 2048 and an 8-byte (64-bit) random salt. Neither value can be overridden by the caller. Both values are far below current guidance (OWASP recommends on the order of 600,000 iterations for PBKDF2-HMAC-SHA256, and NIST recommends salts of at least 128 bits), so the key-stretching work factor is roughly 300 times lower than intended and the short salt reduces the cost of precomputation across keys. The symmetric encryption (AES-256-CBC with a 16-byte random IV) is not affected; the weakness is entirely in the derivation strength. An attacker who obtains one of these exported blobs (for example from a backup, configuration repository, object storage, or logs) can mount a cheap offline dictionary or brute-force attack against the export password, and success yields the full private key. This issue affects jose: from 1.10.0 before 1.11.13.
A vulnerability in the jose library's key export function allows for offline recovery of private keys from password-encrypted exports. This issue arises because the key-derivation parameters used in the export are hardcoded and insufficient. The function jose_jwk:to_der/2 exports keys as PKCS#8 EncryptedPrivateKeyInfo using the PBES2 scheme, but with only 2048 iterations of PBKDF2-HMAC-SHA256 and a 64-bit salt. These parameters are far below current security recommendations, making the key derivation approximately 300 times weaker than intended. As a result, an attacker who obtains an encrypted key blob can easily crack the export password and recover the private key. This vulnerability affects jose versions 1.10.0 prior to 1.11.13.
Users can upgrade to jose version 1.11.13 or later, which addresses this vulnerability by using stronger PBKDF2 parameters. If an upgrade is not possible, avoid using the jose library for password-based key exports.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Oct 26, 2026CISA-ADP
Assessed Nov 2, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/potatosalad/erlang-jose/security/advisories/GHSA-h4gx-8jq2-mfhc | CISA-ADP | AdvisoryExploitRemedyVendor |
| https://cna.erlef.org/cves/CVE-2026-65629.html | EEF | AdvisoryBundleRemedy |
| https://github.com/potatosalad/erlang-jose/commit/461b261902531ca016190e780bb70862d561a7e0 | EEF | Source CodeVendor |
| https://github.com/potatosalad/erlang-jose/commit/85fddd89ee56b6f9c19eff7d9cfffeef62c330b9 | EEF | Source CodeVendor |
| https://github.com/potatosalad/erlang-jose/security/advisories/GHSA-h4gx-8jq2-mfhc | EEF | AdvisoryExploitRemedyVendor |
| https://osv.dev/vulnerability/EEF-CVE-2026-65629 | EEF | AdvisoryBundleRemedy |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-916 | Use of Password Hash With Insufficient Computational Effort | EEF |
Affected Products
| Product | Versions |
|---|---|
| potatosalad jose | >= 1.10.0, < 1.11.13 (semver) |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Nov 2, 2026 | CVE Modified | CISA-ADP |
| Oct 26, 2026 | New CVE Received | EEF |
Volerion