Skip to content

Clear remaining high-severity audit findings across the examples - #107

Open
miguelcalderon wants to merge 7 commits into
mainfrom
miguel/vulns-04.09.2026
Open

Clear remaining high-severity audit findings across the examples#107
miguelcalderon wants to merge 7 commits into
mainfrom
miguel/vulns-04.09.2026

Conversation

@miguelcalderon

@miguelcalderon miguelcalderon commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

What

Clears the outstanding npm/pnpm audit findings across the examples. After this branch, every example reports zero high or critical severity findings.

Highlights:

  • Electron / Electron (nodeIntegration)@electron/packager^20.3.0, electron^44.2.0. Both now audit clean.

  • Angular — Angular packages → ^21.2.22, CLI/devkit → ^21.2.23, covering:

    Plus a less: ^4.9.1 override so @angular-devkit/build-angular stops pulling the vulnerable image-size (GHSA-w3rx-r6r6-pgpr, GHSA-5p2g-fcmc-qvqq) — less dropped that dependency in 4.7.0.

  • Gatsbydecode-uri-component: ^0.5.0 override for GHSA-vcc3-ghjq-m6fr (16 → 14 moderate).

  • Laravel / Reactqs: ^6.16.0 override for two advisories published after this branch opened: array-limit bypass via bracket-key comma parsing, and DoS via attacker-controlled isBuffer. Both cover everything <6.16.0; body-parser and express each pin ~6.15.1, so npm audit fix would have forced an express major — the override reaches 6.16.0 without touching either direct dependency.

  • Earlier commits on the branch apply the broader audit sweep and stop pnpm install stalling on the modules-purge prompt.

Audit status after this branch

Example Findings
angular 0
electron, electron-nodeintegration 0
gatsbyjs 14 moderate (file-type only)
laravel 6 low (elliptic only)
react 2 moderate (webpack-dev-server only)
all others 0

Known-unfixable leftovers

  • file-type (gatsbyjs, moderate — GHSA-5v7r-6r5c-r473): the fixed release is 22.x, which is ESM-only with a changed API. Overriding it inside Gatsby's transitive tree breaks the build, so it stays.
  • elliptic (laravel, low): reachable only through laravel-mix, and the only advertised fix is a laravel-mix major.
  • webpack-dev-server (react, moderate): react-scripts@5 pins ^4.6.0 and calls the onBeforeSetupMiddleware / onAfterSetupMiddleware hooks that v5 removed, so an override to ^5 breaks npm start. Dev-server only, never shipped.

Type

  • Update existing example
  • New framework example
  • SDK version bump
  • Bug fix
  • Repo infrastructure (CI, scripts, docs)

Checklist

  • pnpm run format passes (Biome) — enforced by the pre-commit hook
  • Example has start and start:e2e scripts in package.json — unchanged
  • SERVER_DIR=examples/<name> pnpm run test passes (Playwright smoke test) — not yet run
  • README.md included with prerequisites, setup, and usage — unchanged
  • Uses current pinned @nutrient-sdk/viewer version — unchanged (1.21.0)

Dependency-only change; ng build (Angular) and gatsby build (Gatsby) both succeed locally.

🤖 Generated with Claude Code

miguelcalderon and others added 5 commits September 4, 2026 11:04
Overrides written by `pnpm audit --fix=override` invalidate the virtual
store, so the follow-up `pnpm install` purges node_modules and asks for
confirmation first. The audit and bump scripts capture pnpm's output, so
the prompt was invisible and the run hung until someone blindly answered
it; in CI it aborted with ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY.

pnpm derives confirmModulesPurge internally, so no rc key or
pnpm_config_* variable turns it off. Pass the setting on the command
line instead, from one shared array all three pnpm install callers use.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Adds overrides for @sveltejs/kit, brace-expansion, browserslist and
nanoid in the two pnpm examples, which could not be fixed before because
the install stalled on the modules-purge prompt, and refreshes the npm
lockfiles. svelte-kit and vue-composition-api now audit clean.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Move @electron/packager to ^20.3.0 and electron to ^44.2.0 in both
Electron examples, clearing all remaining npm audit findings there.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

🔮 View transcript: https://nutrient-agentlogs.dev/s/gx2n3lm6ht53az1s3d1r7rje
Bump the Angular packages to ^21.2.22 and the Angular CLI/devkit to
^21.2.23, covering GHSA-jhpw-976m-542j (HttpTransferCache cache-key
ambiguity) and GHSA-jj27-h5hq-8x99 (i18n XSS via event-handler
attributes). Add a `less` override so @angular-devkit/build-angular
resolves less 4.9.1, which no longer depends on the vulnerable
image-size (GHSA-w3rx-r6r6-pgpr, GHSA-5p2g-fcmc-qvqq).

Also add a decode-uri-component override to the Gatsby example for
GHSA-vcc3-ghjq-m6fr. Both examples build clean.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

🔮 View transcript: https://nutrient-agentlogs.dev/s/gx2n3lm6ht53az1s3d1r7rje
@miguelcalderon miguelcalderon self-assigned this Sep 4, 2026
@miguelcalderon
miguelcalderon marked this pull request as ready for review September 4, 2026 16:36
@miguelcalderon
miguelcalderon requested a review from a team as a code owner September 4, 2026 16:36
@miguelcalderon
miguelcalderon requested review from a team, MahmoudElsayad and sc0 September 4, 2026 16:36
Comment thread examples/svelte-kit/pnpm-workspace.yaml Outdated
Two selectors covered the same package: the older `<=2.69.0` line and
the `<=2.70.1` line that raises the floor to 2.70.2. A version matching
both leaves the effective floor to whichever override pnpm applies
first, so the install could settle below 2.70.2. The wider selector
subsumes the older one, so keep only that. Resolution stays at 2.70.3.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Two new qs advisories (array-limit bypass via bracket-key comma parsing,
and DoS via attacker-controlled isBuffer) cover everything below 6.16.0.
body-parser and express both pin `~6.15.1`, so an override is the only way
to reach 6.16.0 without a major bump of express.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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