Repository navigation
Conversation
…onarjs 4.0.3 eslint-plugin-sonarjs 3.x pins minimatch to exactly 10.1.2, which is affected by GHSA-3ppc-4f35-3m26, GHSA-7r86-cg39-jmmj and GHSA-23c5-xmqv-rm74 (ReDoS, fixed in 10.2.3). No 3.x release fixes it. sonarjs 4.0.3 depends on minimatch ^10.2.5 and dedupes onto the existing 10.2.5 entry. The lockfile is pinned to 4.0.3 (not latest 4.2.x) to keep the change minimal; existing typescript resolutions are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
GioDavid
marked this pull request as draft
October 14, 2026 17:38
This branch has not been deployed
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.
Summary
Removes the vulnerable
minimatch@10.1.2from the dependency tree by upgradingeslint-plugin-sonarjsfrom^3.0.3to^4.0.3.eslint-plugin-sonarjs@3.0.7pinsminimatchto exactly10.1.2, which is affected by three high-severity ReDoS advisories:>=10.0.0 <10.2.1>=10.0.0 <10.2.3>=10.0.0 <10.2.3No 3.x release of the plugin fixes this (3.0.7 is the last one).
4.0.3depends onminimatch@^10.2.5and reuses the10.2.5entry that's already in the lockfile. The plugin is a root devDependency used only byyarn lint, so the published package isn't affected.Changes
package.json:eslint-plugin-sonarjs^3.0.3→^4.0.3yarn.lock: the lockfile pins4.0.3rather than the latest 4.2.x, to keep the change small. It removesminimatch@10.1.2,@isaacs/brace-expansion,@isaacs/balanced-matchand a duplicatesemver, and addsglobals@17.13.0(used by the plugin). TypeScript resolutions are unchanged.Compatibility
enforce-trailing-commaandsuper-invocationwere removed; this config uses neither. Two new rules,dompurify-unsafe-configandno-session-cookies-on-static-assets, are added torecommended. They report nothing on the current code.main. A deliberate violation test confirmed the plugin is active (sonarjs/no-all-duplicated-branchesfired).minimatchin the same way in both versions. On those call patterns, 10.1.2 and 10.2.5 matched identically in 264 cases.Test plan
Run locally on Node 20, 22, 24 (the CI versions) and 26:
yarn install --immutableyarn compileyarn lint(output identical tomain)yarn buildyarn test:ci: 22/22 passedyarn why minimatch: versions 10.2.5, 10.2.6, 8.0.7 and 3.1.5, none of them affectedyarn npm audit --all --recursive: minimatch findings 3 → 0, nothing newyarn workspace example web:buildfails the same way onmain(react-native-svg→codegenNativeComponentresolution), so it's not affected by this change.The
shell-quoteresolution update is in a separate PR (fix/security-shell-quote).🤖 Generated with Claude Code