Skip to content

fix(deps): bump svgo from 3.3.4 to 3.3.5 - #930

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/svgo-3.3.5
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/svgo-3.3.5

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 9, 2026

Copy link
Copy Markdown
Contributor

Bumps svgo from 3.3.4 to 3.3.5.

Release notes

Sourced from svgo's releases.

v3.3.5

What's Changed

Security

  • Backport the removeScriptElement hardening from SVGO v4 in #2269:
    • reject executable data: URLs and legacy vbscript: URLs
    • sanitize executable HTML inside <foreignObject> elements
    • handle namespace-prefixed SVG anchors and URL schemes containing ASCII tabs or newlines

This addresses GHSA-4vpr-x523-8j87 and GHSA-w27v-7q3p-w38r for the v3 release line.

Support

SVGO v3 is not officially supported; please consider upgrading to SVGO v4. This security fix has been backported, but there is no commitment to backport more complex changes in the future.

See the migration guide from v3 to v4.

Commits
Maintainer changes

This version was pushed to npm by GitHub Actions, a new releaser for svgo since your current version.


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Bumps [svgo](https://github.com/svg/svgo) from 3.3.4 to 3.3.5.
- [Release notes](https://github.com/svg/svgo/releases)
- [Commits](svg/svgo@v3.3.4...v3.3.5)

---
updated-dependencies:
- dependency-name: svgo
  dependency-version: 3.3.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Sep 9, 2026
@dependabot
dependabot Bot requested a review from davidicus as a code owner September 9, 2026 22:42
@dependabot dependabot Bot added the javascript Pull requests that update javascript code label Sep 9, 2026
@dependabot
dependabot Bot requested a review from scottdickerson as a code owner September 9, 2026 22:42
@netlify

netlify Bot commented Sep 9, 2026

Copy link
Copy Markdown

Deploy Preview for phillips-seldon ready!

Name Link
🔨 Latest commit c3535a9
🔍 Latest deploy log https://app.netlify.com/projects/phillips-seldon/deploys/6aa1e0e672b5830008d76cea
😎 Deploy Preview https://deploy-preview-930--phillips-seldon.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@davidicus davidicus left a comment

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.

@dependabot squash and merge

@phillips-pr-review-agent phillips-pr-review-agent Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Security patch — approved

This is a Dependabot security bump of svgo from 3.3.43.3.5. The diff is a single version/integrity-hash change in package-lock.json; no application code is touched.

What changed upstream (SVGO v3.3.5)

Two security advisories addressed in the removeScriptElement plugin backport (GHSA-4vpr-x523-8j87, GHSA-w27v-7q3p-w38r):

  • Executable data: URLs and legacy vbscript: URLs in SVG are now rejected.
  • Executable HTML inside <foreignObject> elements is sanitised.
  • Namespace-prefixed SVG anchors and URL schemes containing ASCII tabs/newlines are handled.

Impact on this repo

svgo is a devDependency consumed via @svgr/core (the SVGR transform pipeline that converts raw SVGs in src/assets/ to .tsx icon components). It is not shipped in the published npm package ("dev": true in the lockfile entry is confirmed). The hardening affects what the build-time optimiser does with SVG source files — a net positive: any SVG in the repo that carried a dangerous data: URL or <foreignObject> script payload would previously have passed through unmodified; it will now be sanitised during the npm run build:icons step.

No API surface, no runtime code, no breaking change risk at v3.3.5 (patch bump). The lockfile integrity hash is consistent with the published package.

I would approve this PR. Merge recommended.

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

🚀 Storybook preview is ready.

• Preview: undefined
• Chromatic build: undefined

@chromatic-com

chromatic-com Bot commented Sep 9, 2026

Copy link
Copy Markdown

Tip

All tests passed and all changes approved!

🟢 UI Tests: 490 tests unchanged
🟢 UI Review: 251 stories published -- no changes
Storybook icon Storybook Publish: 251 stories published

@chromatic-com

chromatic-com Bot commented Sep 9, 2026

Copy link
Copy Markdown

Important

Testing in progress…

🟢 UI Tests: 490 tests unchanged
UI Review: Comparing 251 stories…
Storybook icon Storybook Publish: 251 stories published

Copy link
Copy Markdown
Contributor

🤖 Dependency Risk Assessment: dependency-upgrade-risk:low

Library Summary

svgo (SVG Optimizer) is used in seldon's SVG → React component build pipeline. It's wired in via @svgr/plugin-svgo as configured in svgr.config.cjs, which runs during the build step — every SVG icon in the seldon component library is processed by svgo before being converted to a React component by @svgr/cli. Usage is therefore widespread across all SVG assets in the library. However, it is a build-time-only dependency: the published seldon package contains the optimized output, not svgo itself.

What Changed (3.3.4 → 3.3.5)

This is a patch release with changes exclusively to the removeScriptElement plugin (security hardening backported from SVGO v4):

  • Reject executable data: URLs and legacy vbscript: URLs in SVG attributes
  • Sanitize executable HTML inside <foreignObject> elements
  • Handle namespace-prefixed SVG anchors and URL schemes containing ASCII tabs or newlines

Addresses security advisories GHSA-4vpr-x523-8j87 and GHSA-w27v-7q3p-w38r.

⚠️ Note: SVGO maintainers have marked v3 as officially unsupported and recommend upgrading to v4. This security fix was an exceptional backport with no future commitment. Upgrading to svgo v4 may be worth tracking as a follow-up.

Risk Rationale

  • Patch-only release with a tightly scoped security hardening change
  • The removeScriptElement changes only affect SVGs containing executable scripts, inline event handlers, or data:/vbscript: URL schemes — standard icon SVGs in a UI component library contain none of these
  • Normal path compression, attribute cleanup, and all other optimization plugins are completely unchanged
  • The changes make the build pipeline strictly safer with no functional regression for legitimate icon content
  • Zero runtime impact: svgo only runs at build time

Codebase Usage

svgo is used by every SVG processed in seldon, via @svgr/plugin-svgo in svgr.config.cjs. While it touches all SVG-derived React components, the behavioral change in this patch is narrow (executable script detection only) and will be a no-op for ordinary icon SVGs.

Regression Test Checklist

  • Run npm run build — library builds successfully with no SVGO errors or warnings
  • Run npm run test — all component tests pass, especially any icon-related tests
  • Build Storybook and visually inspect a sample of SVG-derived icon components — confirm they render correctly and no content is unexpectedly stripped
  • If Chromatic is run, verify no visual diffs appear on icon or SVG-heavy components
  • Spot-check the generated React component output for a few SVG icons to confirm optimized output is structurally equivalent to the current build

Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file dependency-upgrade-risk:low javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants