Every CVE Search/ Get API key

CVE-2026-41988

Duplicate Advisory: uuid: Missing buffer bounds check in v3/v5/v6 when buf is provided

3.2 LowFix available

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

0.18%Up 0.2 points since Apr 23, 2026
90%50%10%1%

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 LowCVSS: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 LowCVSS: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 LowCVSS: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 LowCVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N
CVSS 3.1
2.5 LowCVSS: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 HighCVSS: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 LowCVSS: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 LowCVSS: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 LowCVSS: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) writes buf[offset + i] without bounds validation.
  • src/v6.ts writes buf[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 RangeError
  • v5() NO_THROW
  • v6() 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 (covers v3() and v5())
  • src/v6.ts
Record
GHSA-w5hq-g745-h8pq
CVSS 4.0
6.3 MediumCVSS: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 HighCVSS: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 LowCVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N
CVSS 3.1
2.5 LowCVSS: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

Affected packages
PackageAffectedFixed
node-uuid
Debian: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 less
8.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-uuid
Debian: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-uuid
Debian: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
uuid
npm
From an advisory covering 2 CVEs
before 11.1.1
11.1.1
uuid
npm
From an advisory covering 2 CVEs
12.0.0 up to 12.0.1
12.0.1
uuid
npm
From an advisory covering 2 CVEs
13.0.0 up to 13.0.1
13.0.1
node-uuid
Ubuntu:14.04:LTS
All versions, plus listed versions
1.3.3-21.4.0-1
None known
node-uuid
Ubuntu:16.04:LTS
All versions, plus listed versions
1.4.0-1
None known
node-uuid
Ubuntu:18.04:LTS
All versions, plus listed versions
1.4.0-11.4.7-5
None known
node-uuid
Ubuntu:20.04:LTS
All versions, plus listed versions
3.3.2-2
None known
Show 5 moreShow less
Affected packages
PackageAffectedFixed
node-uuid
Ubuntu:22.04:LTS
All versions, plus listed versions
8.3.2+~8.3.0-48.3.2+~8.3.3-1
None known
node-uuid
Ubuntu:24.04:LTS
All versions, plus listed versions
8.3.2+~8.3.3-4
None known
node-uuid
Ubuntu:25.10
All versions, plus listed versions
8.3.2+~8.3.4-1
None known
node-uuid
Ubuntu: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-uuid
Ubuntu:26.04:LTS
All versions, plus listed versions
8.3.2+~8.3.4-18.3.2+~8.3.4-3
None known

History

History
RecordedChangedSources
affected, facts
affected
first indexedCVE 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

Show 12 moreShow less
MoveEnter Open