Clear all resolvable Dependabot alerts - #458
Merged
Merged
Conversation
Brings npm audit to 0 vulnerabilities, from 11 open alerts. - vite 6.4.2 -> 6.4.3 (high: server.fs.deny bypass on Windows alternate paths; launch-editor NTLMv2 hash disclosure) - electron-builder 26.8.1 -> 26.15.3 - @electron/rebuild 3.7.2 -> 4.2.0 (major; drives npm run rebuild and the CI release build, so exercised directly - see below) - tar override 7.5.15 -> 7.5.20 (PAX size override parser differential) - transitive undici, form-data and @babel/core resolved via npm audit fix The tar entry was an existing override added in 3dac9ff, pinning what was then the patched version; 7.5.15 has since become the vulnerable one, which is why audit fix could not move it on its own. Versions are pinned exactly to match the existing devDependency convention - npm install -D writes caret ranges by default. Not fixed: js-yaml (GHSA quadratic-complexity DoS, the only alert with runtime scope, reaching production via electron-updater). The advisory names 4.2.0 as patched but no such version is published to npm - latest is 4.1.1. Nothing to upgrade to yet. Verified: npm run rebuild, npm test (527 passing), typecheck, lint (0 errors), npm run build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Takes
npm auditfrom 11 open alerts to 0 vulnerabilities.Scope check first
Of the 11 alerts, 10 were development-scope — build tooling that never ships in the packaged app. Exactly one,
js-yaml, had runtime scope, reaching production throughelectron-updater, which parses thelatest.ymlupdate feed.That one is not fixed, because it currently cannot be. The advisory names 4.2.0 as the patched version, but no such version is published to npm — the latest is 4.1.1, and only 4.0.0/4.1.0/4.1.1 exist. There is nothing to upgrade to. I'd suggest leaving the alert open as a live reminder rather than dismissing it; it should be re-checked once js-yaml actually ships a patch. Practical exposure is low (it needs a hostile update feed served over HTTPS from GitHub Releases), but it is the one that reaches users, so it shouldn't quietly disappear.
Changes
viteserver.fs.denybypass on Windows alternate paths; launch-editor NTLMv2 hash disclosureelectron-buildertar@electron/rebuildtar(override)undici,form-data,@babel/corenpm audit fixTwo things worth knowing:
The
taroverride was the blocker.npm audit fixkept reporting a fix was available, then changing nothing. The cause is an existingoverridesentry added in 3dac9ff pinningtarto 7.5.15 — which was the patched version at the time and has since become the vulnerable one. The override has to be bumped by hand; audit fix cannot see past it.@electron/rebuildis a major bump on a load-bearing package. It backsnpm run rebuild, which compiles the SQLCipher and Argon2 native modules and runs in CI atbuild.yml:41during releases. I ran it directly rather than inferring safety: it completes and produces working binaries, and the full test suite (which rebuilds for the Node target viapretest) passes against them.Versions are pinned exactly, matching the existing devDependency convention —
npm install -Dwrites caret ranges by default, which I reverted.Verification
npm run rebuild✓ ·npm test527 passing ✓ ·npm run typecheck✓ ·npm run lint0 errors (14 pre-existing warnings) ✓ ·npm run build✓ ·npm audit0 vulnerabilities ✓One gap: I did not complete a local
npm run dist:mac. The first attempt was invalidated when I rannpm installconcurrently, and the mac config setsnotarize: true, which needs Apple credentials not available here.electron-buildermoved a minor version, so packaging is exercised for the first time by CI. Worth watching the first release build after this merges.