CVE-2026-41988
Duplicate Advisory: uuid: Missing buffer bounds check in v3/v5/v6 when buf is provided
uuid before 14.0.0 can make unexpected writes when external output buffers are used, and the UUID version is 3, 5, or 6. In particular, UUID version 4, which is very commonly used, is unaffected by this issue.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
3.2
uuid before 14.0.0 can make unexpected writes when external output buffers are used, and the UUID version is 3, 5, or 6. In particular, UUID version 4, which is very commonly used, is unaffected by this issue.
- Record
CVE-2026-41988- CVSS 3.1
- 3.2 Low
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N - Weakness
- CWE-670
- Updated
- 2026-11-02
EUVDEUVD-2026-25190
3.2
uuid before 14.0.0 can make unexpected writes when external output buffers are used, and the UUID version is 3, 5, or 6. In particular, UUID version 4, which is very commonly used, is unaffected by this issue.
- Record
EUVD-2026-25190- CVSS 3.1
- 3.2 Low
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-qmq6-f8pr-cx5x
3.2
Duplicate Advisory: uuid: Missing buffer bounds check in v3/v5/v6 when buf is provided
Duplicate Advisory
This advisory has been withdrawn because it is a duplicate of GHSA-w5hq-g745-h8pq. This link is maintained to preserve external references.
Original Advisory
uuid before 14.0.0 can make unexpected writes when external output buffers are used, and the UUID version is 3, 5, or 6. In particular, UUID version 4, which is very commonly used, is unaffected by this issue.
- Record
GHSA-qmq6-f8pr-cx5x- CVSS 3.1
- 3.2 Low
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N - Weakness
- CWE-670
- Updated
- 2026-11-02
NVD
3.2
uuid before 14.0.0 can make unexpected writes when external output buffers are used, and the UUID version is 3, 5, or 6. In particular, UUID version 4, which is very commonly used, is unaffected by this issue.
- Record
CVE-2026-41988- CVSS 3.1
- 3.2 Low
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N - CVSS 3.1
- 2.5 Low
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-670
- Updated
- 2026-11-02
OSVCVE-2026-41907
8.1
uuid: Missing buffer bounds check in `v3`/`v5`/`v6` when `buf` is provided
uuid is for the creation of RFC9562 (formerly RFC4122) UUIDs. Prior to 14.0.0, v3, v5, and v6 accept external output buffers but do not reject out-of-range writes (small buf or large offset). This allows silent partial writes into caller-provided buffers. This vulnerability is fixed in 14.0.0.
- Record
CVE-2026-41907- CVSS 4.0
- 8.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U - Weakness
- CWE-787, CWE-823
- Updated
- 2026-11-02
OSV
3.2
uuid before 14.0.0 can make unexpected writes when external output buffers are used, and the UUID version is 3, 5, or 6. In particular, UUID version 4, which is very commonly used, is unaffected by this issue.
- Record
CVE-2026-41988- CVSS 3.1
- 3.2 Low
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N - Weakness
- CWE-670
- Updated
- 2026-11-02
Show 4 moreShow less
OSVDEBIAN-CVE-2026-41988
2.5
uuid before 14.0.0 can make unexpected writes when external output buffers are used, and the UUID version is 3, 5, or 6. In particular, UUID version 4, which is very commonly used, is unaffected by this issue.
- Record
DEBIAN-CVE-2026-41988- CVSS 3.1
- 2.5 Low
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-02
OSVGHSA-qmq6-f8pr-cx5x
3.2
Duplicate Advisory: uuid: Missing buffer bounds check in v3/v5/v6 when buf is provided
Duplicate Advisory
This advisory has been withdrawn because it is a duplicate of GHSA-w5hq-g745-h8pq. This link is maintained to preserve external references.
Original Advisory
uuid before 14.0.0 can make unexpected writes when external output buffers are used, and the UUID version is 3, 5, or 6. In particular, UUID version 4, which is very commonly used, is unaffected by this issue.
- Record
GHSA-qmq6-f8pr-cx5x- CVSS 3.1
- 3.2 Low
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N - Weakness
- CWE-670
- Updated
- 2026-11-02
OSVGHSA-w5hq-g745-h8pq
6.3
uuid: Missing buffer bounds check in v3/v5/v6 when buf is provided
Summary
The v3(), v5(), and v6() API methods (not uuid release versions) accept external output buffers but do not reject out-of-range writes (small buf or large offset).
By contrast, v4(), v1(), and v7() API methods explicitly throw RangeError on invalid bounds.
This inconsistency allows silent partial writes into caller-provided buffers.
Affected code
src/v35.ts(v3()/v5()path) writesbuf[offset + i]without bounds validation.src/v6.tswritesbuf[offset + i]without bounds validation.
Reproducible PoC
cd /home/StrawHat/uuid
npm ci
npm run build
node --input-type=module -e "
import {v4,v5,v6} from './dist-node/index.js';
const ns='6ba7b810-9dad-11d1-80b4-00c04fd430c8';
for (const [name,fn] of [
['v4()',()=>v4({},new Uint8Array(8),4)],
['v5()',()=>v5('x',ns,new Uint8Array(8),4)],
['v6()',()=>v6({},new Uint8Array(8),4)],
]) {
try { fn(); console.log(name,'NO_THROW'); }
catch(e){ console.log(name,'THREW',e.name); }
}"
Observed:
v4() THREW RangeErrorv5() NO_THROWv6() NO_THROW
Example partial overwrite evidence captured during audit:
same true buf [
170, 170, 170, 170,
75, 224, 100, 63
]
v6 [
187, 187, 187, 187,
31, 19, 185, 64
]
Security impact
- Primary: integrity/robustness issue (silent partial output).
- If an application assumes full UUID writes into preallocated buffers, this can produce malformed/truncated/partially stale identifiers without error.
- In systems where caller-controlled offsets/buffer sizes are exposed indirectly, this may become a security-relevant logic flaw.
Suggested fix
Add the same guard used by v4()/v1()/v7():
if (offset < 0 || offset + 16 > buf.length) {
throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);
}
Apply to:
src/v35.ts(coversv3()andv5())src/v6.ts
- Record
GHSA-w5hq-g745-h8pq- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-1285, CWE-787
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-41988
3.2
uuid before 14.0.0 can make unexpected writes when external output buffers are used, and the UUID version is 3, 5, or 6. In particular, UUID version 4, which is very commonly used, is unaffected by this issue.
- Record
UBUNTU-CVE-2026-41988- CVSS 3.1
- 3.2 Low
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N - CVSS 3.1
- 2.5 Low
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
node-uuidDebian:12 |
All versions, plus listed versions 14.0.0+~11.0.0-114.0.1-114.0.2-114.0.3-114.0.3-2 Show 5 moreShow less8.3.2+~8.3.3-38.3.2+~8.3.3-48.3.2+~8.3.4-18.3.2+~8.3.4-28.3.2+~8.3.4-3 |
None known |
node-uuidDebian:13 |
All versions, plus listed versions 14.0.0+~11.0.0-114.0.1-114.0.2-114.0.3-114.0.3-28.3.2+~8.3.4-18.3.2+~8.3.4-28.3.2+~8.3.4-3 |
None known |
node-uuidDebian:14 |
before 14.0.0+~11.0.0-1, plus listed versions 8.3.2+~8.3.4-18.3.2+~8.3.4-28.3.2+~8.3.4-3 |
14.0.0+~11.0.0-1 |
uuidnpm From an advisory covering 2 CVEs |
before 11.1.1 | 11.1.1 |
uuidnpm From an advisory covering 2 CVEs |
12.0.0 up to 12.0.1 | 12.0.1 |
uuidnpm From an advisory covering 2 CVEs |
13.0.0 up to 13.0.1 | 13.0.1 |
node-uuidUbuntu:14.04:LTS |
All versions, plus listed versions 1.3.3-21.4.0-1 |
None known |
node-uuidUbuntu:16.04:LTS |
All versions, plus listed versions 1.4.0-1 |
None known |
node-uuidUbuntu:18.04:LTS |
All versions, plus listed versions 1.4.0-11.4.7-5 |
None known |
node-uuidUbuntu:20.04:LTS |
All versions, plus listed versions 3.3.2-2 |
None known |
Show 5 moreShow less
| Package | Affected | Fixed |
|---|---|---|
node-uuidUbuntu:22.04:LTS |
All versions, plus listed versions 8.3.2+~8.3.0-48.3.2+~8.3.3-1 |
None known |
node-uuidUbuntu:24.04:LTS |
All versions, plus listed versions 8.3.2+~8.3.3-4 |
None known |
node-uuidUbuntu:25.10 |
All versions, plus listed versions 8.3.2+~8.3.4-1 |
None known |
node-uuidUbuntu:26.10 |
All versions, plus listed versions 8.3.2+~8.3.4-314.0.0+~11.0.0-114.0.1-1 |
None known |
node-uuidUbuntu:26.04:LTS |
All versions, plus listed versions 8.3.2+~8.3.4-18.3.2+~8.3.4-3 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| affected | ||
| 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-41988 is a low vulnerability (CVSS 3.2) in Uuidjs Uuid, published April 22, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.18%, the 7th percentile. Fixed in node-uuid 14.0.0+~11.0.0-1.
References
github.com/uuidjs/uuid/security/advisories/GHSA-w5hq-g745-h8pq
github.com/uuidjs/uuid/commit/3d2c5b0342f0fcb52a5ac681c3d47c13e7444b34
nvd.nist.gov/vuln/detail/CVE-2026-41988
github.com/advisories/GHSA-qmq6-f8pr-cx5x
github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41907.json
nvd.nist.gov/vuln/detail/CVE-2026-41907
Show 12 moreShow less
github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41988.json
security-tracker.debian.org/tracker/CVE-2026-41988
github.com/uuidjs/uuid/commit/32389c887c9e75f90442ee4cc95bbab0c4e8346e
github.com/uuidjs/uuid/commit/3d61d6ac1f782cf6b1dd8661c60f11722cd49a0d
github.com/uuidjs/uuid/commit/9d27ddf7046ce496ef39569ff84d948eeff9cb2a
github.com/uuidjs/uuid
github.com/uuidjs/uuid/releases/tag/v11.1.1
github.com/uuidjs/uuid/releases/tag/v12.0.1
github.com/uuidjs/uuid/releases/tag/v13.0.1
github.com/uuidjs/uuid/releases/tag/v14.0.0
ubuntu.com/security/CVE-2026-41988
cve.org/CVERecord?id=CVE-2026-41988