CVE intelligence and bounded remediation

CVE-2021-41117 — keypair is a a RSA PEM key generator written in javascript

Critical CVSS 9.1

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.