chore(deps): update dependency uuid to v11 [security]#662
Conversation
|
/gcbrun |
There was a problem hiding this comment.
Code Review
This pull request updates the uuid dependency from version 9 to version 11 in the background and gce modules. Feedback highlights that this update introduces a breaking change by requiring Node.js 16 or higher, which conflicts with the project's current support for Node.js 12 and 14, leading to potential compatibility issues and test failures.
| "mocha": "^9.0.0", | ||
| "node-fetch": "^2.6.0", | ||
| "uuid": "^9.0.0", | ||
| "uuid": "^11.1.1", |
There was a problem hiding this comment.
Updating uuid to v11 drops support for Node.js versions earlier than 16. This conflicts with the engines requirement of node: >=12.0.0 specified in other modules of this repository (e.g., authenticating-users/package.json and bookshelf/package.json). This update will break compatibility for users on Node.js 12 or 14. Additionally, v11 introduces breaking changes to the v1 API. To resolve this, the repository's minimum Node.js version should be bumped to 16, or a compatible fix should be identified.
| "devDependencies": { | ||
| "mocha": "^9.0.0", | ||
| "uuid": "^9.0.0", | ||
| "uuid": "^11.1.1", |
This PR contains the following updates:
^9.0.0→^11.1.1uuid: Missing buffer bounds check in v3/v5/v6 when buf is provided
CVE-2026-41907 / GHSA-w5hq-g745-h8pq
More information
Details
Summary
The
v3(),v5(), andv6()API methods (notuuidrelease versions) accept external output buffers but do not reject out-of-range writes (smallbufor largeoffset).By contrast,
v4(),v1(), andv7()API methods explicitly throwRangeErroron 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
Observed:
v4() THREW RangeErrorv5() NO_THROWv6() NO_THROWExample partial overwrite evidence captured during audit:
Security impact
Suggested fix
Add the same guard used by
v4()/v1()/v7():Apply to:
src/v35.ts(coversv3()andv5())src/v6.tsSeverity
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
uuidjs/uuid (uuid)
v11.1.1Compare Source
v11.1.0Compare Source
Features
Uint8Arraysubtypes forbufferoption (#865) (a5231e7)v11.0.5Compare Source
Bug Fixes
v11.0.4Compare Source
Bug Fixes
v1(),v4(), andv7()(#845) (e0ee900)v11.0.3Compare Source
Bug Fixes
v11.0.2Compare Source
Bug Fixes
v11.0.1Compare Source
Bug Fixes
v11.0.0Compare Source
⚠ BREAKING CHANGES
Features
Bug Fixes
v10.0.0Compare Source
⚠ BREAKING CHANGES
Features
Bug Fixes
v9.0.1Compare Source
build
Configuration
📅 Schedule: (UTC)
🚦 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.
This PR was generated by Mend Renovate. View the repository job log.