nanoid Infinite Loop via Negative Size in non-secure module
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| nanoid_project | nanoid | unaffected |
|
Configuration 1 [-]
|
No data.
| Vendor | Product | Versions | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Nanoid Project | Nanoid |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-28wg-ghj8-5hjv | nanoid: non-secure generators can loop indefinitely with negative size |
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.330% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Description | nanoid (Nano ID) before 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. | 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. |
| Title | nanoid before 5.1.16 Infinite Loop via Negative Size in non-secure module | nanoid Infinite Loop via Negative Size in non-secure module |
| References |
|
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | nanoid (Nano ID) before 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. | |
| Title | nanoid before 5.1.16 Infinite Loop via Negative Size in non-secure module | |
| First Time appeared |
Nanoid Project
Nanoid Project nanoid |
|
| Weaknesses | CWE-835 | |
| CPEs | cpe:2.3:a:nanoid_project:nanoid:*:*:*:*:*:node.js:*:* | |
| Vendors & Products |
Nanoid Project
Nanoid Project nanoid |
|
| References |
| |
| Metrics |
cvssV3_1
|