CVE intelligence and bounded remediation
CVE-2021-41117 — keypair is a a RSA PEM key generator written in javascript
keypair is a a RSA PEM key generator written in javascript. keypair implements a lot of cryptographic primitives on its own or by borrowing from other libraries where possible, including node-forge. An issue was discovered where this library was generating identical RSA keys used in SSH. This would mean that the library is generating identical P, Q (and thus N) values which, in practical terms, is impossible with RSA-2048 keys. Generating identical values, repeatedly, usually indicates an issue with poor random number generation, or, poor handling of CSPRNG output. Issue 1: Poor random number generation (`GHSL-2021-1012`). The library does not rely entirely on a platform provided CSPRNG, rather, it uses it's own counter-based CMAC approach. Where things go wrong is seeding the CMAC implementation with "true" random data in the function `defaultSeedFile`. In order to seed the AES-CMAC generator, the library will take two different approaches depending on the JavaScript execution environment. In a browser, the library will use [`window.crypto.getRandomValues()`](https://github.com/juliangruber/keypair/blob/87c62f255baa12c1ec4f98a91600f82af80be6db/index.js#L971). However, in a nodeJS…
- Severity
- Critical
- CVSS
- 9.1 (3.1)
- Published
- 2021-10-11
- CISA KEV
- Not currently listed
- Ecosystem
- javascript/npm
- Weaknesses
- CWE-335
Affected products
- keypair_project / keypair
Matched remediation archetype
Cryptography, certificate, signature, and channel validation
This catalog composition supplies bounded fallback guidance. Explicitly reviewed curated workflows load with the complete record below.
Check exposure
- Inventory affected algorithms, key uses, trust stores, certificate validation settings, random sources, and plaintext channels across clients and services.
- Determine which secrets, identities, signatures, or data protections depend on the affected primitive or validation path.
- Check debug, compatibility, fallback, and hostname or audience override settings in build and runtime configuration.
Remediate safely
- Use a maintained platform cryptographic API with approved algorithms, modes, parameters, randomness, and full peer identity validation.
- Remove insecure fallback and validation bypasses; separate keys by purpose and load them from managed secret storage.
- Plan rotation or reissuance for affected keys, certificates, tokens, hashes, or ciphertext and document compatibility sequencing.
Authoritative sources
Complete CVE record and remediation plan
The detailed catalog view below loads this exact record, its source evidence, and the full seven-phase agentic change plan.