[Aikido] Fix 9 security issues in lodash, uuid, @octokit/endpoint and 3 more - #25
Open
aikido-autofix[bot] wants to merge 1 commit into
Open
[Aikido] Fix 9 security issues in lodash, uuid, @octokit/endpoint and 3 more#25aikido-autofix[bot] wants to merge 1 commit into
aikido-autofix[bot] wants to merge 1 commit into
Conversation
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.
Upgrade dependencies to fix critical RCE vulnerability in lodash template injection via options.imports and high-severity buffer overflow in uuid.
✅ No breaking changes affect this codebase.
The lodash upgrade's breaking changes to
_.unset,_.omit, and_.templatedo not impact the code, which only uses_.filter()and_.merge(). The uuid package is not used in the source code. The @octokit packages are transitive dependencies accessed only through@actions/github'sgetOctokit()method, and the codebase does not use any of the deprecated features (HTTP agents, custom request options, or removed API endpoints). The action runs on Node.js 24, which satisfies all version requirements.All breaking changes by upgrading lodash from version 4.17.21 to 4.18.1 (CHANGELOG)
_.unset/_.omitnow blockconstructorandprototypeas non-terminal path keys unconditionally. Calls that previously returnedtrueand deleted the property now returnfalseand leave the target untouched._.templatenow throws"Invalid imports option passed into _.template"whenimportskeys contain forbidden identifier characters, which were previously allowed.All breaking changes by upgrading uuid from version 8.3.2 to 11.1.1 (CHANGELOG)
✅ 9 CVEs resolved by this upgrade, including 1 critical 🚨 CVE
This PR will resolve the following CVEs:
linkheaders, allowing attackers to cause denial of service through specially crafted requests.🤖 Remediation details
Fix security vulnerabilities in lodash, uuid, @octokit/endpoint, @octokit/plugin-paginate-rest, @octokit/request, @octokit/request-error, and undici
Short summary
This PR remediates security vulnerabilities in seven npm packages: lodash, uuid, @octokit/endpoint, @octokit/plugin-paginate-rest, @octokit/request, @octokit/request-error, and undici. Changes are applied to the root
package.json(four direct-dependency version spec bumps and oneoverridesentry) withpackage-lock.jsonupdated accordingly. All vulnerable instances are resolved to patched versions with no use of lockfile-only workarounds beyond what parent bumps naturally produce.lodash
lodashis a direct dependency declared in the rootpackage.json. Its spec was raised from^4.17.21to^4.18.1, resolving to4.18.1in the lockfile. Version 4.18.1 is the minimum that satisfies all three advisories targeting this package.uuid
uuidappears as two transitive instances: one hoisted to the root (pulled in by@actions/core@1.x) and one nested underaws-sdk(pinned at8.0.0). The root instance was eliminated by bumping@actions/coreto^2.0.0, whose 2.x line no longer depends onuuidat all. Theaws-sdk-nested copy cannot be fixed via any parent bump because every published version ofaws-sdkpinsuuidat8.0.0; anoverridesentry"uuid@>=0.0.1 <=10.0.0": "11.1.1"was added to the rootpackage.jsonto force that instance to the patched11.1.1, targeting only the vulnerable range without globally overriding unrelated consumers.@octokit/endpoint
@octokit/endpointis a transitive dependency pulled in through the@actions/github→@octokit/core→@octokit/requestchain. Bumping@actions/githubto^8.0.1brought in@octokit/core@7.x, which depends on@octokit/request@^10.x, which in turn declares@octokit/endpoint@^11.x; the lockfile resolved to11.0.4, well above the9.0.6patched floor. No direct manifest entry for@octokit/endpointwas needed.@octokit/plugin-paginate-rest
@octokit/plugin-paginate-restis a transitive dependency of@actions/github. Bumping@actions/githubto^8.0.1brought its^14.0.0range into the tree, resolving to14.0.0in the lockfile, which exceeds the9.2.2patched minimum. The prior@actions/github@4.xpinned this package at2.21.3, which was below the patched floor.@octokit/request
@octokit/requestis a transitive dependency shared across@octokit/coreand@octokit/graphql, both of which are brought in by@actions/github. Bumping@actions/githubto^8.0.1pulled in@octokit/core@7.xand@octokit/graphql@9.x, both of which declare@octokit/request@^10.x; the lockfile resolved to10.0.15, above the8.4.1patched minimum. The prior chain was stuck at5.6.3because@actions/github@4.xbrought@octokit/core@3.x, which only ranged over@octokit/request@^5.x.@octokit/request-error
@octokit/request-erroris a transitive dependency of@octokit/coreand@octokit/request. The same@actions/githubbump to^8.0.1that fixed@octokit/requestalso resolved@octokit/request-errorto7.1.1via the updated@octokit/core@7.xand@octokit/request@10.xranges, both of which declare@octokit/request-error@^7.x. The prior version2.1.0was below the5.1.1patched floor.undici
undiciis a transitive dependency introduced by the@actions/githuband@actions/http-clientpackages. After the initial round bumped@actions/githubto^6.0.0, that version still pulled inundici@5.29.0(below all patched floors), introducing 12 new advisories. Fixing this required two further parent bumps:@actions/githubwas raised to^8.0.1(which declaresundici@^6.23.0directly and also brings@actions/http-client@^3.0.2), and@actions/corewas raised to^2.0.0(whose 2.x line declares@actions/http-client@^3.0.0, also resolving to3.0.2). Both@actions/http-client@3.xedges now share a single hoistedundici@6.28.0, which satisfies all patched version floors across the 12 advisories.Version changes
lodash^4.17.21→4.17.21^4.18.1→4.18.1@actions/core^1.10.0→1.10.0^2.0.0→2.0.3uuiddep and pull in@actions/http-client@3.xforundicifix@actions/github^4.0.0→4.0.0^8.0.1→8.0.1@octokit/plugin-paginate-rest,@octokit/request,@octokit/request-error,@octokit/endpoint, andundiciuuid(aws-sdk nested)8.0.011.1.1aws-sdkparent version existsuuid(root, via @actions/core)8.3.2@actions/core@2.xno longer depends onuuid@actions/http-client2.2.33.0.2@actions/coreand@actions/githubparent bumps; bringsundici@^6.23.0undici5.29.06.28.0@actions/githuband@actions/http-clientparent bumps@octokit/endpoint6.0.1211.0.4@actions/githubparent bump@octokit/plugin-paginate-rest2.21.314.0.0@actions/githubparent bump@octokit/request5.6.310.0.15@actions/githubparent bump@octokit/request-error2.1.07.1.1@actions/githubparent bump@octokit/core3.6.07.0.7@actions/githubparent bump@octokit/graphql4.8.09.0.4@actions/githubparent bump@octokit/plugin-rest-endpoint-methods5.x17.0.0@actions/githubparent bump