Skip to content

fix(deps): security dependency updates [FEC-769]#3230

Merged
misama-ct merged 3 commits into
mainfrom
security/prod-dep-bumps-fec-769
Apr 16, 2026
Merged

fix(deps): security dependency updates [FEC-769]#3230
misama-ct merged 3 commits into
mainfrom
security/prod-dep-bumps-fec-769

Conversation

@misama-ct
Copy link
Copy Markdown
Contributor

@misama-ct misama-ct commented Apr 10, 2026

Summary

Dependency housekeeping and security vulnerability remediation for the ui-kit repository. Resolves all critical and high Dependabot alerts, and most medium-severity alerts.

Expected impact: 127 open alerts → estimated ~3–5 remaining (low/stale only)


Commit 1 — Production dependency bumps

Bump direct production dependencies (security-only patch/minor releases, no consumer API changes):

Package Version Change Alerts Resolved Fix Method
lodash 4.17.23 → 4.18.1 ~36 high + ~36 medium Direct bump in 35 workspace packages + resolution
immutable 4.3.7 → 4.3.8 3 high Direct bump in rich-text-input, localized-rich-text-input
dompurify 3.2.7 → 3.3.2 12 medium Direct bump in icons, rich-text-utils

Commit 2 — Dev dependency bumps

Bump dev-only direct dependencies (no consumer impact):

Package Version Change Alerts Resolved Where
vite 6.4.1 → 6.4.2 3 high + 3 medium storybook, visual-testing-app
storybook ^8.6.15 → ^8.6.18 1 high storybook workspace (+ all @storybook/* addons)

Commit 3 — Yarn resolutions for transitive dependencies

All transitive/dev-only — no consumer impact.

New resolutions:

Package Target Severity Pulled in by
handlebars ^4.7.9 HIGH+CRITICAL conventional-changelog-writer, ts-jest
tar ^7.5.11 HIGH cacache, node-gyp
rollup (v4) ^4.59.0 HIGH vite
flatted ^3.4.2 HIGH flat-cache (eslint)
svgo ^3.3.3 HIGH @svgr/plugin-svgo
basic-ftp ^5.2.0 CRITICAL puppeteer → proxy-agent → get-uri
systeminformation ^5.31.0 HIGH @percy/monitoring
lodash-es ^4.18.0 HIGH formik
@isaacs/brace-expansion ^5.0.1 HIGH minimatch
picomatch (5 ranges) ^2.3.2 MEDIUM @rollup/pluginutils, anymatch

Updated resolutions:

Package Old New Severity
rollup (v2) ^2.79.2 ^2.80.0 HIGH
minimatch ^10.1.0 ^10.2.3 HIGH
axios ^1.9.0 ^1.13.5 HIGH

Consumer API impact

None. All production dependency bumps (lodash, immutable, dompurify) are security-only patch/minor releases with no API changes. All other changes are dev-only transitive dependencies.

CVEs addressed

CVE-2026-4800, CVE-2026-39410, CVE-2026-39363, CVE-2026-39364, CVE-2026-39365, CVE-2026-33896, CVE-2026-33895, CVE-2026-33891, CVE-2026-33894, CVE-2026-33671, CVE-2026-33228, CVE-2026-32141, CVE-2026-4867, CVE-2026-2950, CVE-2026-39409, CVE-2026-39407, CVE-2026-39408, CVE-2026-39406, and others.

Test plan

  • CI passes (lint, unit tests, build) — verified after each commit
  • Percy visual regression — no visual changes detected
  • Orca Security scans pass

Part of FEC-769

🤖 Generated with Claude Code

Bump production dependencies to resolve critical/high security alerts:
- lodash 4.17.23 → 4.18.1 (CVE-2026-4800, code injection via _.template)
- immutable 4.3.7 → 4.3.8 (prototype pollution)
- dompurify 3.2.7 → 3.3.2 (XSS via mutation, prototype pollution)

Added lodash resolution to catch transitive copies.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@misama-ct misama-ct requested a review from a team as a code owner April 10, 2026 07:26
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Apr 10, 2026

🦋 Changeset detected

Latest commit: f679123

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 98 packages
Name Type
@commercetools-uikit/calendar-utils Patch
@commercetools-uikit/hooks Patch
@commercetools-uikit/localized-utils Patch
@commercetools-uikit/accessible-button Patch
@commercetools-uikit/flat-button Patch
@commercetools-uikit/icon-button Patch
@commercetools-uikit/link-button Patch
@commercetools-uikit/primary-button Patch
@commercetools-uikit/secondary-button Patch
@commercetools-uikit/secondary-icon-button Patch
@commercetools-uikit/avatar Patch
@commercetools-uikit/collapsible Patch
@commercetools-uikit/collapsible-motion Patch
@commercetools-uikit/collapsible-panel Patch
@commercetools-uikit/data-table Patch
@commercetools-uikit/data-table-manager Patch
@commercetools-uikit/icons Patch
@commercetools-uikit/async-creatable-select-input Patch
@commercetools-uikit/async-select-input Patch
@commercetools-uikit/creatable-select-input Patch
@commercetools-uikit/localized-rich-text-input Patch
@commercetools-uikit/money-input Patch
@commercetools-uikit/rich-text-input Patch
@commercetools-uikit/rich-text-utils Patch
@commercetools-uikit/select-input Patch
@commercetools-uikit/select-utils Patch
@commercetools-uikit/selectable-search-input Patch
@commercetools-uikit/money-field Patch
@commercetools-uikit/pagination Patch
@commercetools-uikit/primary-action-dropdown Patch
@commercetools-uikit/progress-bar Patch
@commercetools-uikit/text Patch
@commercetools-uikit/tooltip Patch
@commercetools-uikit/view-switcher Patch
@commercetools-uikit/design-system Patch
@commercetools-uikit/date-input Patch
@commercetools-uikit/date-range-input Patch
@commercetools-uikit/date-time-input Patch
@commercetools-uikit/dropdown-menu Patch
@commercetools-uikit/password-field Patch
@commercetools-uikit/search-select-field Patch
@commercetools-uikit/localized-money-input Patch
@commercetools-uikit/localized-multiline-text-input Patch
@commercetools-uikit/localized-text-input Patch
@commercetools-uikit/multiline-text-input Patch
@commercetools-uikit/time-input Patch
@commercetools-frontend/ui-kit Patch
@commercetools-uikit/notifications Patch
@commercetools-uikit/tag Patch
@commercetools-uikit/buttons Patch
@commercetools-uikit/filters Patch
@commercetools-uikit/input-utils Patch
@commercetools-uikit/field-label Patch
@commercetools-uikit/search-text-input Patch
@commercetools-uikit/link Patch
@commercetools-uikit/checkbox-input Patch
@commercetools-uikit/radio-input Patch
@commercetools-uikit/async-creatable-select-field Patch
@commercetools-uikit/inputs Patch
@commercetools-uikit/async-select-field Patch
@commercetools-uikit/search-select-input Patch
@commercetools-uikit/creatable-select-field Patch
@commercetools-uikit/select-field Patch
@commercetools-uikit/fields Patch
@commercetools-uikit/label Patch
@commercetools-uikit/loading-spinner Patch
@commercetools-uikit/messages Patch
@commercetools-uikit/stamp Patch
@commercetools-uikit/card Patch
@commercetools-uikit/constraints Patch
@commercetools-uikit/quick-filters Patch
@commercetools-uikit/date-field Patch
@commercetools-uikit/date-range-field Patch
@commercetools-uikit/date-time-field Patch
@commercetools-uikit/localized-multiline-text-field Patch
@commercetools-uikit/localized-text-field Patch
@commercetools-uikit/multiline-text-field Patch
@commercetools-uikit/number-field Patch
@commercetools-uikit/radio-field Patch
@commercetools-uikit/text-field Patch
@commercetools-uikit/time-field Patch
@commercetools-uikit/number-input Patch
@commercetools-uikit/password-input Patch
@commercetools-uikit/text-input Patch
@commercetools-uikit/toggle-input Patch
@commercetools-uikit/spacings-inline Patch
@commercetools-uikit/spacings-inset-squish Patch
@commercetools-uikit/spacings-inset Patch
@commercetools-uikit/spacings-stack Patch
visual-testing-app Patch
@commercetools-uikit/field-errors Patch
@commercetools-uikit/field-warnings Patch
@commercetools-uikit/spacings Patch
@commercetools-uikit/calendar-time-utils Patch
@commercetools-uikit/i18n Patch
@commercetools-uikit/utils Patch
@commercetools-uikit/accessible-hidden Patch
@commercetools-uikit/grid Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 10, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ui-kit Ready Ready Preview, Comment Apr 10, 2026 7:56am

Request Review

Bump dev dependencies to resolve Dependabot security alerts:
- vite 6.4.1 → 6.4.2 (CVE-2026-39410, arbitrary file read via WebSocket)
- storybook ^8.6.15 → ^8.6.18 (WebSocket hijacking vulnerability)
- All @storybook/* addons bumped to ^8.6.18

Dev-only changes, no consumer API impact.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ties [FEC-769]

Add and update yarn resolutions to fix transitive dependency vulnerabilities:

New resolutions:
- handlebars → ^4.7.9 (JS injection via AST type confusion)
- tar → ^7.5.11 (symlink/hardlink path traversal)
- rollup@^4.34.9 → ^4.59.0 (arbitrary file write via path traversal)
- flatted → ^3.4.2 (prototype pollution via parse())
- svgo → ^3.3.3 (DoS via entity expansion)
- basic-ftp → ^5.2.0 (path traversal in downloadToDir)
- systeminformation → ^5.31.0 (command injection)
- lodash-es → ^4.18.0 (code injection via _.template)
- @isaacs/brace-expansion → ^5.0.1 (uncontrolled resource consumption)
- picomatch@^2.x → ^2.3.2 (ReDoS via extglob quantifiers)

Updated resolutions:
- rollup@^2.79.1: ^2.79.2 → ^2.80.0 (arbitrary file write)
- minimatch: ^10.1.0 → ^10.2.3 (ReDoS via combinatorial backtracking)
- axios: ^1.9.0 → ^1.13.5 (DoS via __proto__ key in mergeConfig)

Also alphabetically sorted the resolutions block.

All transitive/dev-only — no consumer API impact.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@misama-ct misama-ct changed the title fix(deps): bump lodash, immutable, dompurify for security [FEC-769] fix(deps): security dependency updates [FEC-769] Apr 10, 2026
Comment thread package.json
Comment on lines +95 to +99
"picomatch@^2.0.4": "^2.3.2",
"picomatch@^2.2.1": "^2.3.2",
"picomatch@^2.2.2": "^2.3.2",
"picomatch@^2.2.3": "^2.3.2",
"picomatch@^2.3.1": "^2.3.2",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

this gets pretty verbose, eh? iirc, we can simply this once it's converted to pnpm.

Copy link
Copy Markdown
Contributor

@valoriecarli valoriecarli left a comment

Choose a reason for hiding this comment

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

thanks for doing this 🙌🏻

@valoriecarli valoriecarli requested a review from a team April 10, 2026 13:36
@misama-ct misama-ct merged commit 31b0b6d into main Apr 16, 2026
9 checks passed
@misama-ct misama-ct deleted the security/prod-dep-bumps-fec-769 branch April 16, 2026 09:58
@ByronDWall ByronDWall mentioned this pull request May 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants