fix CVE-2026-41907 (uuid) - #88
Open
sban2009 wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Addresses two issues in the dependency tree:
uuidvulnerability —uuid@9.xhad a known moderate severity buffer bounds-check issue (GHSA-w5hq-g745-h8pq) and was deprecated upstream. Upgraded touuid@11.1.1, the current supported CommonJS-compatible release. Onlyv4is used in this codebase — no call-site changes required.npm installwas broken —eslint-config-airbnb-base@14declares a peer dep ofeslint ^5–7, but the project useseslint@8. This causedERESOLVEon a clean install. Fixed by bumpingeslint-config-airbnb-baseto^15.0.0(the first release with eslint 8 support) andeslint-config-prettierto^9.0.0(aligned with it).Files changed
package.json— three dep version bumps:dependencies.uuid:^9.0.1→^11.1.1devDependencies.eslint-config-airbnb-base:^14.2.0→^15.0.0devDependencies.eslint-config-prettier:^6.12.0→^9.0.0package-lock.json— regenerated bynpm installandnpm install uuid@11 --saveNo source files, test files, type definitions, or config files were changed.
Test plan
1. Clean install resolves without error:
2. uuid vulnerability resolved:
3. Unit tests pass (896/896):
4. Runtime smoke test — pivot table round-trip (
pivot-table-xform.jsusesuuid.v4):5. Runtime smoke test — conditional formatting round-trip (
cf-rule-ext-xform.jsusesuuid.v4):6. Full integration suite:
Related to source code (for typings update)
N/A — no source or type changes.
The two files that import
uuidremain unchanged:lib/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js:1—const {v4: uuidv4} = require('uuid')lib/xlsx/xform/pivot-table/pivot-table-xform.js:1—const {v4: uuidv4} = require('uuid')Both use only
v4, which has an identical API in uuid@11.Checklist
wb.xlsx.load/writeBuffer), not synthetic model objects, where possiblegh pr list --state open) for conflicting changes to the same filessoffice --headlessround-trip clean — N/A, no serialization changes--no-verifywas used to bypass the pre-commit hook) — not used