Skip to content

fix(deps): lift follow-redirects and joi past high advisories for the audit gate - #101

Merged
rcsarv merged 1 commit into
mainfrom
fix/audit-follow-redirects-joi
Nov 3, 2026
Merged

rcsarv merged 1 commit into
mainfrom
fix/audit-follow-redirects-joi

Conversation

@rcsarv

@rcsarv rcsarv commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

Fixes the Dependency vulnerability scan, which has failed on main since at least 0d5065e.

Cause: two high advisories hit the lockfile:

  • follow-redirects 1.16.1, GHSA-mrwp-f3q8-3g9p (cross-realm sensitiveHeaders arrays are discarded, so custom credentials can follow redirects). Fixed in 1.16.2.
  • joi 17.13.8, GHSA-4528-x5fx-h6hg (quadratic-time split in string().email({ multiple: true })). Fixed in 17.13.9.

The pnpm.overrides floors are raised to ^1.16.2 and ^17.13.9. postcss-selector-parser@6 also moves from ^6.1.3 to ^6.1.5, which clears the moderate GHSA-rj75-hqrm-r3gf.

Not reachable at runtime. Both high packages come in only through wait-on, a desktop devDependency (wait-on → axios → follow-redirects and wait-on → joi). The lockfile marks all of them dev-only. The packaged app ships only the vite bundles plus the better-sqlite3 addon, and nothing imports axios, follow-redirects, joi or wait-on. postcss-selector-parser is build-time only, via Tailwind 3 and postcss-nested. No CHANGELOG entry, because nothing user-facing changes.

Lockfile: only the three override lines and three version bumps change: follow-redirects 1.16.1→1.16.2, joi 17.13.8→17.13.9 and postcss-selector-parser 6.1.4→6.1.5. Their dependency lists are unchanged, and the integrity hashes match the npm registry.

Verification

  • pnpm install --frozen-lockfile passes.
  • pnpm audit --audit-level=high exits 0. 5 moderate advisories remain, none fixable without major bumps:
    • minimatch 3.1.5 / 5.1.9 / 9.0.9 / 10.2.6: fixed only in 11.x, and each is already the newest release of its line.
    • glob 13.0.6: fixed in 14.x, but @electron/asar and @sentry/bundler-plugins pin ^13.
  • The audit with auditConfig dropped (CI's non-blocking full report) also shows no high.
  • Tailwind's compiled CSS from src/index.css is byte-identical under postcss-selector-parser 6.1.5.
  • TURBO_FORCE=true pnpm test passes with 0 cached tasks: core 3836, storage-node 1869, desktop 10374 (13 existing skips), site 143.

Follow-ups, not in this PR

  • GitHub withdrew both advisories behind pnpm.auditConfig.ignoreCves: braces (GHSA-vfj7-8cjw-p6xm) on 2026-10-23 and http-cache-semantics (GHSA-ch52-4w7c-c8xp) on 2026-10-28. Those entries and their SECURITY.md rows are now inert.
  • wait-on is not referenced anywhere but its devDependency line. Removing it would drop axios, follow-redirects and joi from the tree.

🤖 Generated with Claude Code

… audit gate

pnpm audit --audit-level=high has failed on main since 1 Nov:
follow-redirects 1.16.1 (GHSA-mrwp-f3q8-3g9p, fixed in 1.16.2) and
joi 17.13.8 (GHSA-4528-x5fx-h6hg, fixed in 17.13.9). Both are reached
only through wait-on, a desktop devDependency; nothing in the packaged
app imports them. The overrides now resolve to the patched releases.

postcss-selector-parser@6 moves to 6.1.5 as well (moderate
GHSA-rj75-hqrm-r3gf, build-time via Tailwind 3); the compiled CSS is
byte-identical.
@rcsarv
rcsarv merged commit e30e7e3 into main Nov 3, 2026
8 checks passed
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.

1 participant