CVE-2026-67214
CVE-2026-67214 · nanoid Infinite Loop via Negative Size in non-secure module
This page contains facts from public vulnerability sources. Check the original advisory before updating.
nanoid (Nano ID) before 3.3.16 and 5.1.16 contains an infinite loop in the customAlphabet and nanoid functions of its non-secure module (nanoid/non-secure). When these functions are given a negative size, the loop counter is decremented from a negative value and never reaches its termination condition, spinning indefinitely and hanging the calling thread. An application that passes an unvalidated, attacker-controlled negative size to these functions is exposed to a denial-of-service condition.
CVSS 8.2 · High · EPSS 0.3% · Fix available
- Published
- Updated
Affected products and versions
nanoid
- Versions
- ≥ 4.0.0, < 5.1.16: Affected (semver)
- 5.1.16: Not affected (semver)
- ≥ 0, < 3.3.16: Affected (semver)
- 3.3.16: Not affected (semver)
Update to 3.3.16; Update to 5.1.16
node-mocha Debian:12
- Affected ranges
- ECOSYSTEM: < 9.1.4+ds1+~cs28.2.8-1
Update to 9.1.4+ds1+~cs28.2.8-1
node-mocha Debian:13
- Affected ranges
- ECOSYSTEM: < 9.1.4+ds1+~cs28.2.8-1
Update to 9.1.4+ds1+~cs28.2.8-1
node-mocha Debian:14
- Affected ranges
- ECOSYSTEM: < 9.1.4+ds1+~cs28.2.8-1
Update to 9.1.4+ds1+~cs28.2.8-1
node-postcss Debian:12
- Versions
- 8.4.20+~cs8.0.23-1
- 8.4.20+~cs8.0.23-1+deb12u1
- 8.4.31+~cs8.0.26-1
- 8.4.39+~cs9.2.29-1
- 8.4.49+~cs9.2.32-1
- 8.5.12+~cs9.3.32-1
- 8.5.14+~cs9.3.34-1
- 8.5.15+~cs9.3.34-1
- 8.5.15+~cs9.3.38-1
- 8.5.15+~cs9.3.39-1
- 8.5.19+~cs10.2.23-1
- 8.5.21+~cs10.2.23-1
- 8.5.23+~cs10.2.23-1
- 8.5.25+~cs10.2.23-1
- 8.5.26+~cs10.2.24-1
- 8.5.28+~cs10.2.24-1
- 8.5.31+~cs10.2.26-1
- 8.5.6+~cs9.3.28-1
- 8.5.8+~cs9.3.30-1
- 8.5.9+~cs9.3.30-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
node-postcss Debian:13
- Versions
- 8.4.49+~cs9.2.32-1
- 8.5.12+~cs9.3.32-1
- 8.5.14+~cs9.3.34-1
- 8.5.15+~cs9.3.34-1
- 8.5.15+~cs9.3.38-1
- 8.5.15+~cs9.3.39-1
- 8.5.19+~cs10.2.23-1
- 8.5.21+~cs10.2.23-1
- 8.5.23+~cs10.2.23-1
- 8.5.25+~cs10.2.23-1
- 8.5.26+~cs10.2.24-1
- 8.5.28+~cs10.2.24-1
- 8.5.31+~cs10.2.26-1
- 8.5.6+~cs9.3.28-1
- 8.5.8+~cs9.3.30-1
- 8.5.9+~cs9.3.30-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
node-postcss Debian:14
- Versions
- 8.4.49+~cs9.2.32-1
- 8.5.12+~cs9.3.32-1
- 8.5.14+~cs9.3.34-1
- 8.5.15+~cs9.3.34-1
- 8.5.15+~cs9.3.38-1
- 8.5.6+~cs9.3.28-1
- 8.5.8+~cs9.3.30-1
- 8.5.9+~cs9.3.30-1
- Affected ranges
- ECOSYSTEM: < 8.5.15+~cs9.3.39-1
Update to 8.5.15+~cs9.3.39-1
nanoid npm
- Affected ranges
- SEMVER: < 3.3.16
Update to 3.3.16
nanoid npm
- Affected ranges
- SEMVER: ≥ 4.0.0, < 5.1.16
Update to 5.1.16
node-postcss Ubuntu:20.04:LTS
- Versions
- 6.0.23-1
- 6.0.23-3
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
node-postcss Ubuntu:22.04:LTS
- Versions
- 8.2.1+~cs5.3.23-8
- 8.4.5+~cs7.1.51-2
- 8.4.6+~cs7.3.21-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
node-postcss Ubuntu:24.04:LTS
- Versions
- 8.4.20+~cs8.0.23-1
- 8.4.31+~cs8.0.26-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
node-postcss Ubuntu:26.04:LTS
- Versions
- 8.5.6+~cs9.3.28-1
- 8.5.8+~cs9.3.30-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
Original sources
- https://github.com/ai/nanoid/releases/tag/5.1.16
- https://github.com/ai/nanoid/releases/tag/3.3.16
- https://github.com/ai/nanoid/commit/6ccc67bbaba71d3d77a21d9b636f4171a268ce49
- https://www.vulncheck.com/advisories/nanoid-before-infinite-loop-via-negative-size-in-non-secure-module
- https://nvd.nist.gov/vuln/detail/CVE-2026-67214