Skip to content

fix(deps): update dependency uuid to v14 [security]#4681

Merged
openshift-merge-bot[bot] merged 1 commit intomainfrom
renovate/npm-uuid-vulnerability
Apr 29, 2026
Merged

fix(deps): update dependency uuid to v14 [security]#4681
openshift-merge-bot[bot] merged 1 commit intomainfrom
renovate/npm-uuid-vulnerability

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Apr 23, 2026

This PR contains the following updates:

Package Change Age Confidence
uuid 11.1.014.0.0 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


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

GHSA-w5hq-g745-h8pq

More information

Details

Summary

v3, v5, and v6 accept external output buffers but do not reject out-of-range writes (small buf or large offset).
By contrast, v4, v1, and v7 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

Severity

  • CVSS Score: 6.3 / 10 (Medium)
  • Vector String: 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

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

uuidjs/uuid (uuid)

v14.0.0

Compare Source

Security
  • Fixes GHSA-w5hq-g745-h8pq: v3(), v5(), and v6() did not validate that writes would remain within the bounds of a caller-supplied buffer, allowing out-of-bounds writes when an invalid offset was provided. A RangeError is now thrown if offset < 0 or offset + 16 > buf.length.
⚠ BREAKING CHANGES
  • crypto is now expected to be globally defined (requires node@​20+) (#​935)
  • drop node@​18 support (#​934)
  • upgrade minimum supported TypeScript version to 5.4.3, in keeping with the project's policy of supporting TypeScript versions released within the last two years

v13.0.0

Compare Source

⚠ BREAKING CHANGES
  • make browser exports the default (#​901)
Bug Fixes

v12.0.0

Compare Source

⚠ BREAKING CHANGES
  • update to typescript@​5.2 (#​887)
  • remove CommonJS support (#​886)
  • drop node@​16 support (#​883)
Features
Bug Fixes

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • ""
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Apr 23, 2026

Hi @renovate[bot]. Thanks for your PR.

I'm waiting for a redhat-developer member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work.

Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@github-actions
Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

@renovate renovate Bot force-pushed the renovate/npm-uuid-vulnerability branch from a422f21 to 024650e Compare April 23, 2026 11:03
@github-actions
Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@renovate renovate Bot force-pushed the renovate/npm-uuid-vulnerability branch from 024650e to 04d3ef6 Compare April 23, 2026 12:55
@github-actions
Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@renovate renovate Bot force-pushed the renovate/npm-uuid-vulnerability branch from 04d3ef6 to b6efdf6 Compare April 23, 2026 16:19
@github-actions
Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: failure.

@renovate renovate Bot force-pushed the renovate/npm-uuid-vulnerability branch from b6efdf6 to 089bf47 Compare April 23, 2026 19:14
@github-actions
Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

@renovate renovate Bot force-pushed the renovate/npm-uuid-vulnerability branch from 089bf47 to 45730e8 Compare April 24, 2026 12:01
@github-actions
Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@kim-tsao
Copy link
Copy Markdown
Member

/ok-to-test

Copy link
Copy Markdown
Member

@kim-tsao kim-tsao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci openshift-ci Bot added the lgtm label Apr 24, 2026
@renovate renovate Bot force-pushed the renovate/npm-uuid-vulnerability branch from 45730e8 to 78e674c Compare April 24, 2026 14:27
@openshift-ci openshift-ci Bot removed the lgtm label Apr 24, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

@renovate renovate Bot force-pushed the renovate/npm-uuid-vulnerability branch from 78e674c to 97d78d7 Compare April 24, 2026 16:26
@github-actions
Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@renovate renovate Bot reopened this Apr 28, 2026
@renovate renovate Bot force-pushed the renovate/npm-uuid-vulnerability branch 2 times, most recently from d9457db to e074f15 Compare April 28, 2026 01:14
@github-actions
Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@github-actions
Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@sonarqubecloud
Copy link
Copy Markdown

❌ The last analysis has failed.

See analysis details on SonarQube Cloud

@albarbaro
Copy link
Copy Markdown
Member

/test e2e-ocp-helm
/test e2e-ocp-operator-auth-providers-nightly

@albarbaro
Copy link
Copy Markdown
Member

/retest

@renovate renovate Bot force-pushed the renovate/npm-uuid-vulnerability branch from e074f15 to 714bb96 Compare April 28, 2026 13:11
@github-actions
Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

@renovate renovate Bot force-pushed the renovate/npm-uuid-vulnerability branch from 714bb96 to 2fda2af Compare April 28, 2026 16:01
@github-actions
Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@renovate renovate Bot force-pushed the renovate/npm-uuid-vulnerability branch from 2fda2af to 8160458 Compare April 28, 2026 17:17
@github-actions
Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@renovate renovate Bot force-pushed the renovate/npm-uuid-vulnerability branch from 8160458 to b7360b5 Compare April 28, 2026 18:24
@github-actions
Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@renovate renovate Bot force-pushed the renovate/npm-uuid-vulnerability branch from b7360b5 to 10b66fc Compare April 28, 2026 18:59
@github-actions
Copy link
Copy Markdown
Contributor

The container image build and publish workflows were skipped (either due to [skip-build] tag or no relevant changes with existing image).

@renovate renovate Bot force-pushed the renovate/npm-uuid-vulnerability branch from 10b66fc to ef78b85 Compare April 28, 2026 20:23
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@renovate renovate Bot force-pushed the renovate/npm-uuid-vulnerability branch from ef78b85 to 351aec9 Compare April 28, 2026 20:39
@github-actions
Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@sonarqubecloud
Copy link
Copy Markdown

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 28, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 69.56%. Comparing base (0159766) to head (351aec9).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #4681       +/-   ##
===========================================
+ Coverage   40.98%   69.56%   +28.58%     
===========================================
  Files         119      109       -10     
  Lines        2223     4705     +2482     
  Branches      560      511       -49     
===========================================
+ Hits          911     3273     +2362     
- Misses       1306     1432      +126     
+ Partials        6        0        -6     
Flag Coverage Δ
install-dynamic-plugins 92.44% <ø> (?)
rhdh 38.75% <ø> (-2.23%) ⬇️

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0159766...351aec9. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

@albarbaro
Copy link
Copy Markdown
Member

/retest

@albarbaro
Copy link
Copy Markdown
Member

/lgtm

@openshift-ci openshift-ci Bot added the lgtm label Apr 29, 2026
@openshift-merge-bot openshift-merge-bot Bot merged commit 1cf3ae8 into main Apr 29, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants