Skip to content

fix(ui): bump vulnerable transitive npm dependencies - #45

Merged
wtobis-splunk merged 8 commits into
mainfrom
fix/vulns-splunk-example-ta
Aug 19, 2026
Merged

fix(ui): bump vulnerable transitive npm dependencies#45
wtobis-splunk merged 8 commits into
mainfrom
fix/vulns-splunk-example-ta

Conversation

@wtobis-splunk

@wtobis-splunk wtobis-splunk commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Summary of changes

Remediate 12 vulnerable transitive npm dependencies without upgrading the UCC UI. @splunk/add-on-ucc-framework remains on, and is now pinned to, 5.58.0. The npm lockfile was regenerated against the public npm registry.

Library Was Now
brace-expansion 1.1.11 1.1.18
dompurify 2.5.8 3.4.12
shell-quote 1.8.2 1.9.0
@xmldom/xmldom 0.8.10 0.8.14
@babel/plugin-transform-modules-systemjs 7.25.9 7.29.4
@remix-run/router 1.20.0 1.23.3
@babel/runtime 7.26.9 7.28.6
lodash 4.17.21 4.18.1
@babel/helpers 7.26.9 7.26.10
lodash-es 4.17.21 4.18.1
jspdf 2.5.2 4.2.1
canvg 3.0.10 3.0.11

Dependency compatibility

  • Replace the global @remix-run/router override with a scoped react-router-dom@6.30.4 override for UCC 5.58.0. This resolves to the coordinated react-router@6.30.4 and @remix-run/router@1.23.3 versions.
  • Scope jspdf@4.2.1 to @splunk/dashboard-utils@^28.1.0 and add a regression test that exercises the actual dashboard PDF export path.
  • Map the official jsPDF UMD build only in Jest so the compatibility test can run in the existing Jest/jsdom environment; this does not affect the production bundle.
  • Raise @babel/runtime to 7.28.6, satisfying the minimum required by jsPDF 4.2.1.
  • Pin jest-fixed-jsdom to 0.0.11.

Runtime and CI updates

  • Pin the packaged Python runtime dependencies: splunktaucclib==8.2.0, splunk-sdk==2.1.1, solnlib==7.0.0, and packaging==24.0. These versions retain Python 3.7 runtime compatibility.
  • Run build and test jobs on Python 3.9 and update pytest-splunk-addon to 5.5.3 and splunk-add-on-ucc-modinput-test to 2.0.5.
  • Update splunk/appinspect-cli-action from 2.8 to 2.15.0.
  • Pin the test Splunk image to 10.2.2 by default while retaining the SPLUNK_VERSION override.
  • Mount a test-only Splunk configuration suitable for GitHub-hosted runner disk limits and ignore a known Splunk platform error unrelated to the add-on in PSA knowledge tests.
  • Remove the obsolete CPython 3.7-specific .pyc cleanup and stale binary declarations. UCC 5.58.0 installs packaged libraries with --no-compile, and the generated Python 3.9 artifact contains no .pyc or native .so files.

Version note: the ticket-requested remediation versions lodash@4.18.0 and @xmldom/xmldom@0.8.13 are deprecated upstream. This change uses the next clean versions, lodash@4.18.1 and @xmldom/xmldom@0.8.14, which still satisfy the tickets' minimum safe versions.

Issue ticket number and link

Fixes VULN-107633, VULN-107579, VULN-107548, VULN-107532, VULN-107526, VULN-107522, VULN-107503, VULN-107502, VULN-107499, VULN-107496, VULN-107495, VULN-107481

Checklist before requesting a review

  • Bugfix
  • New feature
  • Breaking change
  • Requires documentation update
  • Only tests are added / changed

Testing done

  • npm ci, npm run lint, npm test, and npm run build
  • pre-commit
  • Clean ucc-gen build with UCC 5.58.0 on Python 3.9.19
  • GitHub Actions run 32195021729: build, UI checks, PSA, modular input tests, and all AppInspect tag jobs passed

Pin brace-expansion, dompurify, shell-quote, @xmldom/xmldom,
@babel/plugin-transform-modules-systemjs, @remix-run/router,
@babel/runtime, lodash, @babel/helpers, lodash-es, jspdf, and canvg
to safe versions via package.json overrides and regenerate
package-lock.json.

lodash is pinned to 4.18.1 rather than the 4.18.0 remediation version
called out in VULN-107502: lodash@4.18.0 is deprecated upstream as a
"Bad release", so 4.18.1 (current latest, still >= the required fix)
is used instead. Likewise @xmldom/xmldom is pinned to 0.8.14 rather
than 0.8.13: the entire 0.8.10-0.8.13 line is deprecated upstream as
having "critical issues".

Fixes VULN-107633, VULN-107579, VULN-107548, VULN-107532, VULN-107526,
VULN-107522, VULN-107503, VULN-107502, VULN-107499, VULN-107496,
VULN-107495, VULN-107481

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c5f1fb5b58

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread ui/package-lock.json Outdated
Comment thread ui/package.json Outdated

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 376cc97e74

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread ui/package.json Outdated

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: aa658d2a54

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread ui/package.json Outdated
Pin the Splunk Docker image to a fixed version, bump Python to 3.9
and pytest-splunk-addon/ucc-modinput-test in CI, and add a low-disk-
space CI config plus a knowledge-test error ignore list so external
Splunk instance errors unrelated to the add-on don't fail the run.
Scope the jspdf and react-router-dom version overrides to their
actual dependents (@splunk/dashboard-utils and
@splunk/add-on-ucc-framework) instead of overriding them globally,
map jspdf's ESM build to the UMD build for Jest/jsdom compatibility,
and add a regression test for the jsPDF export path.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c580a43b89

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/build-test.yml
Comment thread package/lib/requirements.txt
The socks.cpython-37.pyc cleanup step and its README binary
declarations targeted Python 3.7 artifacts that no longer apply now
that CI builds with Python 3.9.
@wtobis-splunk
wtobis-splunk merged commit f7c6ff3 into main Aug 19, 2026
12 checks passed
@wtobis-splunk
wtobis-splunk deleted the fix/vulns-splunk-example-ta branch August 19, 2026 07:08
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.

3 participants