Security readout for executives and security teams
Plain-English summary
CVE-2021-23566 affects the JavaScript nanoid package. In vulnerable 3.x releases before 3.1.31, a function can expose enough state to reproduce the last generated ID. Business risk is highest when those IDs are treated as secrets, tokens, or authorization material.
Executive priority
Prioritize remediation as dependency hygiene unless nanoid-generated values secure user access, invitations, resets, or internal object references. In those cases, treat it as a near-term fix because predictable identifiers can weaken confidentiality controls.
Technical view
nanoid 3.0.0 through versions before 3.1.31 are reported vulnerable to information exposure through valueOf(), allowing reproduction of the last generated ID. CVSS 3.1 is 4.0 with local attack vector and low confidentiality impact. Sources identify upstream PR and commit remediation references.
Likely exposure
Exposure is likely in applications or packaged dependencies using nanoid 3.0.0 to 3.1.30, including JavaScript and WebJars packaging. Impact depends on whether generated IDs cross trust boundaries or protect sensitive workflows.
Exploitation context
The source bundle does not show CISA KEV listing or active exploitation. It does reference public vulnerability advisories and proof-of-concept material. Treat exploitability as plausible but not proven in the wild from these sources.
Researcher notes
Focus analysis on whether applications expose objects returned by affected nanoid versions or rely on them as unguessable secrets. Evidence supports affected range and upstream fix references, but not active exploitation. Avoid assuming impact where IDs are only non-sensitive labels.
Mitigation direction
- Upgrade nanoid to 3.1.31 or later where supported.
- Update transitive dependencies that bundle affected nanoid versions.
- Check WebJars and Debian package guidance for packaged variants.
- Review uses where nanoid values act as secrets or access tokens.
- Rotate exposed identifiers if logs or clients received sensitive generated IDs.
Validation and detection
- Inspect package manifests and lockfiles for nanoid 3.0.0 through 3.1.30.
- Check SBOMs for JavaScript, WebJars, and OS-packaged nanoid copies.
- Confirm deployed builds include the upgraded dependency version.
- Review application logic for trust decisions based only on generated IDs.
- Verify security scanners no longer flag CVE-2021-23566.
Public sources used
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
CVE-2021-23566 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
Open ATT&CK lookup- Severity
- Medium
- CVSS
- 4 (3.1)
- Known Exploited
- No
- Published
Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N/E:P
CNA and ADP enrichment extracted from CVE v5
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
CVSS vector scores
1 official scoreWe collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N/E:P2.51.4Primary CVE scoreVulnerability scoring details
Base CVSS 3.1 score
4MediumVector: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N/E:P
Source materials
- CVE List V5 sourceCVE List V5
- https://snyk.io/vuln/SNYK-JS-NANOID-2332193CVE reference · x_refsource_MISC
- https://snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-2332550CVE reference · x_refsource_MISC
- https://gist.github.com/artalar/bc6d1eb9a3477d15d2772e876169a444CVE reference · x_refsource_MISC
- https://github.com/ai/nanoid/commit/2b7bd9332bc49b6330c7ddb08e5c661833db2575CVE reference · x_refsource_MISC
- https://github.com/ai/nanoid/pull/328CVE reference · x_refsource_MISC
- https://lists.debian.org/debian-lts-announce/2025/01/msg00006.htmlCVE reference
- https://lists.debian.org/debian-lts-announce/2024/12/msg00025.htmlCVE reference
Products and packages named in the record
CWE details
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
