Closed
Conversation
Bump lodash and lodash-es resolutions from ^4.17.23 to ^4.18.0 to address GHSA prototype-pollution (medium) and code-injection via _.template (high) in both packages. Both now resolve to 4.18.1. Also remove two redundant resolutions whose natural resolution now satisfies the original pin: - js-yaml: natural tree already resolves to 4.1.1 - ajv: natural tree already resolves to 8.18.0 Addresses Dependabot alerts #65, #66, #67, #68.
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
4 fixed, 0 ignored, 0 deferred, 0 resolutions added, 2 resolutions removed.
All four open Dependabot alerts are for
lodashandlodash-esat4.17.23. The rootpackage.jsonalready had resolutions pinning both to^4.17.23(vulnerable); bumping the pins to^4.18.0resolves them to4.18.1and closes all four alerts.Fixed
lodash-esresolutions["lodash-es"]^4.17.23→^4.18.0lodash-esresolutions["lodash-es"]^4.17.23→^4.18.0lodashresolutions["lodash"]^4.17.23→^4.18.0lodashresolutions["lodash"]^4.17.23→^4.18.0Why resolutions rather than a direct-dep bump: neither
lodashnorlodash-esis a direct dev dependency. Both are pulled in transitively by thesemantic-releasetooling chain. The repo already uses Yarnresolutionsas the mitigation channel, so bumping the existing pins is the minimal change.Ignored
None.
Deferred
None — all four alerts are older than the 7-day gate (oldest 21 days, newest 13 days).
Resolutions added
None.
Resolutions removed
Audited every entry in
resolutionsafter the lodash bumps. Processed one at a time with a fresh install between each to avoid compounding changes.package.json"js-yaml": "^4.1.1"js-yamlto4.1.1(viasemantic-release > cosmiconfigand@commitlint/cli > @commitlint/load > cosmiconfig).yarn why js-yamlconfirmed.package.json"ajv": "^8.18.0"ajvto8.18.0(via@commitlint/cli > @commitlint/load > @commitlint/config-validator).yarn why ajvconfirmed.The
"semantic-release-slack-bot/**/micromatch": "^4.0.8"pin was also audited and kept: removing it causessemantic-release-slack-botto pullmicromatch@4.0.2(vulnerable to the ReDoS patched in 4.0.8), so the pin is neither stale nor redundant.Risks
semantic-release/@commitlinttoolchain touch these packages — no runtime code in this repo imports lodash, so there is no impact on the shipped Ruby gem or any runtime behavior.Manual testing
Covered by CI. The bumped packages are npm devDependencies used only by
semantic-releaseat release time. CI (RuboCop + RSpec, all Ruby) does not exercise the npm toolchain on PRs; semantic-release only runs on merge tomain/betaand will exercise the new lockfile there.Validation
✅ CI green — all 33 Lint + Test + Coverage checks passed on both Ruby 3.4 and 4.0 matrices.
Release packageandMacroscope - Correctness Checkare skipped as expected on PR branches.