Skip to content

[Aikido] Fix 9 security issues in lodash, uuid, @octokit/endpoint and 3 more - #20

Closed
aikido-autofix[bot] wants to merge 1 commit into
mainfrom
fix/aikido-security-update-packages-47030590-ivog
Closed

[Aikido] Fix 9 security issues in lodash, uuid, @octokit/endpoint and 3 more#20
aikido-autofix[bot] wants to merge 1 commit into
mainfrom
fix/aikido-security-update-packages-47030590-ivog

Conversation

@aikido-autofix

@aikido-autofix aikido-autofix Bot commented Jun 9, 2026

Copy link
Copy Markdown

Upgrade dependencies to fix critical RCE vulnerability in lodash template injection via options.imports and high-severity buffer overflow in uuid.

✅ Code not affected by breaking changes.

✅ No breaking changes from these package upgrades affect this codebase:

  • lodash (4.17.21 => 4.18.1): The codebase only uses _.filter() and _.merge() methods. The breaking changes to _.unset(), _.omit(), and _.template() do not affect this code.

  • uuid (8.3.2 => 11.1.1): The uuid package is not directly used in the source code. It only appears as a transitive dependency through @actions/github.

  • @octokit packages: The @actions/github package (v6.0.1) already depends on the newer versions of @octokit/endpoint (v9.x), @octokit/plugin-paginate-rest (v9.x), @octokit/request (v8.x), and @octokit/request-error (v5.x). The codebase doesn't pass custom HTTP agents or custom request options to Octokit, and doesn't use any deprecated endpoints. The action runs on Node.js 24, which satisfies all version requirements.

All upgrades are compatible with the current codebase.

All breaking changes by upgrading lodash from version 4.17.21 to 4.18.1 (CHANGELOG)

Version Description
4.18.0
_.unset / _.omit now block constructor and prototype as non-terminal path keys unconditionally. Calls that previously returned true and deleted the property now return false and leave the target untouched.
4.18.0
_.template now throws "Invalid imports option passed into _.template" when imports keys contain forbidden identifier characters, which were previously allowed.

All breaking changes by upgrading uuid from version 8.3.2 to 11.1.1 (CHANGELOG)

Version Description
9.0.0
Drop Node.js 10.x support
9.0.0
Remove the minified UMD build from the package
9.0.0
Drop IE 11 and Safari 10 support, remove msCrypto fallback, and no longer transpile browser build to ES2015
10.0.0
Drop Node.js 12 and 14 support, add Node.js 20 (update node support matrix to only support node 16-20)
11.0.0
Refactor v1 internal state and options logic
11.0.0
Refactor v7 internal state and options logic
11.0.0
Port to TypeScript
11.0.0
Update node support matrix (only support node 16-20)

All breaking changes by upgrading @octokit/endpoint from version 6.0.12 to 9.0.6 (CHANGELOG)

Version Description
7.0.0
Drop support for NodeJS v10, v12
8.0.0
Drop support for NodeJS v14, v16
8.0.0
Remove previews logic for the REST API
9.0.0
Replace support for Node.js http(s) Agents with documentation on using fetch dispatchers instead

All breaking changes by upgrading @octokit/plugin-paginate-rest from version 2.21.3 to 9.2.2 (CHANGELOG)

Version Description
3.0.0
Drop support for NodeJS v10, v12
4.0.0
Removed the now-defunct OAuth Authorizations APIs from the OpenAPI specifications (these were disabled and cut off on GitHub.com at the end of 2020)
5.0.0
Type support for GHEC routes has been removed
6.0.0
Remove defunct endpoints
7.0.0
Drop support for NodeJS v14, v16
8.0.0
Bump peerDependency of @octokit/core to v5
8.0.0
Bump @octokit/types to v11
9.0.0
Remove required workflow endpoints

All breaking changes by upgrading @octokit/request from version 5.6.3 to 8.4.1 (CHANGELOG)

Version Description
6.0.0
Drop support for NodeJS v10, v12
7.0.0
Drop support for NodeJS v14, v16
7.0.0
Remove node-fetch in favor of global
8.0.0
Replace support for Node.js http(s) Agents with documentation on using fetch dispatchers instead
8.0.0
Remove ability to pass custom request options, except from method, headers, body, signal, data

All breaking changes by upgrading @octokit/request-error from version 2.1.0 to 5.1.1 (CHANGELOG)

Version Description
3.0.0
Drop support for NodeJS v10, v12
4.0.0
Drop support for NodeJS v14, v16
5.0.0
Upgrade @octokit/types to v11
✅ 9 CVEs resolved by this upgrade, including 1 critical 🚨 CVE

This PR will resolve the following CVEs:

Issue Severity           Description
CVE-2026-4800
🚨 CRITICAL
[lodash] A vulnerability in _.template allows arbitrary code execution through untrusted key names in options.imports or prototype pollution, as validation was incomplete after a prior CVE fix. An attacker can inject malicious code that executes during template compilation.
CVE-2025-13465
MEDIUM
[lodash] A prototype pollution vulnerability in _.unset and _.omit functions allows attackers to delete methods from global prototypes via crafted paths. While this prevents property overwriting, it can cause denial of service by removing critical functionality.
CVE-2026-2950
MEDIUM
[lodash] Prototype pollution vulnerability in _.unset and _.omit functions allows attackers to bypass previous fixes using array-wrapped path segments, enabling deletion of properties from built-in prototypes. While this doesn't allow overwriting prototype behavior, it can cause denial of service or unexpected application behavior.
CVE-2026-41907
HIGH
[uuid] A buffer overflow vulnerability allows v3, v5, and v6 UUID functions to write beyond caller-provided buffer boundaries when given small buffers or large offsets, causing silent data corruption. This can lead to memory corruption and potential code execution or information disclosure.
AIKIDO-2026-10892
MEDIUM
[uuid] UUID functions v3(), v5(), and v6() can write past the end of a caller-provided buffer due to missing offset validation, enabling buffer overflow attacks. The fix adds bounds checks to prevent out-of-range writes.
AIKIDO-2025-10094
LOW
[@octokit/endpoint] Improper header parsing for GraphQL endpoints allows attackers to craft malicious inputs triggering ReDoS through excessive regex backtracking, causing denial of service and performance degradation.
CVE-2025-25288
LOW
[@octokit/plugin-paginate-rest] A ReDoS (Regular Expression Denial of Service) vulnerability exists in the pagination iterator when processing malicious link headers, allowing attackers to cause denial of service through specially crafted requests.
CVE-2025-25290
LOW
[@octokit/request] A ReDoS vulnerability in the link header parsing regex allows attackers to cause excessive CPU usage and service unavailability through specially crafted HTTP responses. The unbounded regex pattern is susceptible to catastrophic backtracking when processing malicious input.
CVE-2025-25289
LOW
[@octokit/request-error] A Regular Expression Denial of Service (ReDoS) vulnerability in HTTP header processing allows attackers to cause excessive resource consumption and DoS by sending malformed authorization headers with long space sequences. This can significantly degrade performance or crash services.
🤖 Remediation details

Fix security vulnerabilities in lodash, uuid, undici, @octokit/endpoint, @octokit/plugin-paginate-rest, @octokit/request, and @octokit/request-error

Short summary

This PR remediates security vulnerabilities in seven npm packages: lodash, uuid, undici, @octokit/endpoint, @octokit/plugin-paginate-rest, @octokit/request, and @octokit/request-error. All changes are applied via the root package.json (declared dependency version specs) and realized in package-lock.json; no workspace members are involved. Two targeted overrides entries handle transitive instances that have no fixing parent release.

lodash

lodash is a direct dependency in the root package.json. Its declared spec was raised from ^4.17.21 to ^4.18.1, resolving the lockfile entry from 4.17.21 to 4.18.1. The bump was necessary to satisfy the patched-version floor required by three CVEs affecting the 4.17.x line.

uuid

uuid appears as a transitive dependency via two parents. The instance pulled in by @actions/core was eliminated entirely by bumping @actions/core from ^1.10.0 to ^1.11.0, since 1.11.0 dropped its uuid dependency. The instance nested under aws-sdk (which exact-pins uuid at 8.0.0 and has no fixing release across its entire published history) was addressed with a scoped override "uuid@<11.1.1": "11.1.1", the minimum patched version, targeting only vulnerable instances.

undici

undici was introduced as a new transitive dependency when @actions/github was bumped to ^6.0.0 in the same remediation pass; @actions/github@6.x pulls in @actions/http-client@^2.2.x, which depends on undici@^5.25.4, resolving to the vulnerable 5.29.0. Bumping @actions/github further to ^7.0.0 brought in @actions/http-client@^3.0.1 (≥ 3.0.2), which depends on undici@^6.23.0, resolving to the patched 6.24.0. Because @actions/github@7.x also carries its own direct undici@^5.28.5 edge, a scoped override "undici@<6.24.0": "6.24.0" was added to force that remaining 5.x pin to the patched floor without globally affecting other consumers.

@octokit/endpoint

@octokit/endpoint is a transitive dependency pulled in by @octokit/request. The installed version 6.0.12 is below the patched floor of 9.0.6. Bumping @actions/github to ^7.0.0 caused @octokit/request to resolve to 8.4.1, which declares @octokit/endpoint@^9.0.0; npm then resolved @octokit/endpoint to 9.0.6, satisfying the patched-version requirement.

@octokit/plugin-paginate-rest

@octokit/plugin-paginate-rest is a transitive dependency of @actions/github. The installed version 2.21.3 is far below the patched floor of 9.2.2. Bumping @actions/github from ^4.0.0 to ^7.0.0 was required because @actions/github@6.0.0 is the first release that declares @octokit/plugin-paginate-rest@^9.0.0, and 7.0.0 pins it at ^9.2.2, allowing npm to resolve directly to the patched 9.2.2.

@octokit/request

@octokit/request is a transitive dependency shared by @actions/github, @octokit/core, and @octokit/graphql. The installed version 5.6.3 is below the patched floor of 8.4.1. Bumping @actions/github to ^7.0.0 pulled in @octokit/core@^5.0.1 and @octokit/graphql@^7.0.0, both of which declare @octokit/request@^8.x; npm resolved the single shared instance to 8.4.1.

@octokit/request-error

@octokit/request-error is a transitive dependency of @octokit/core and @octokit/request. The installed version 2.1.0 is below the patched floor of 5.1.1. The same parent-chain bump that fixed @octokit/request — raising @actions/github to ^7.0.0 and thereby pulling in @octokit/core@5.x and @octokit/request@8.4.1 — caused both parents to declare @octokit/request-error@^5.x, resolving to the patched 5.1.1.

Version changes

Package From To Why updated
lodash ^4.17.214.17.21 ^4.18.14.18.1 Direct CVE fix
@actions/core ^1.10.01.10.0 ^1.11.01.10.1 Parent bump to drop vulnerable uuid transitive
@actions/github ^4.0.04.0.0 ^7.0.07.0.0 Parent bump required for @octokit/plugin-paginate-rest, @octokit/request, @octokit/request-error, @octokit/endpoint, and undici
undici not present → 5.29.0 6.24.0 Transitive CVE fix via @actions/github bump + scoped override
uuid 8.3.2 / 8.0.0 11.1.1 Transitive CVE fix; @actions/core bump dropped one instance, scoped override fixed aws-sdk-nested instance
@octokit/plugin-paginate-rest 2.21.3 9.2.2 Transitive CVE fix after @actions/github parent bump
@octokit/request 5.6.3 8.4.1 Transitive CVE fix after @actions/github@octokit/core / @octokit/graphql parent bump
@octokit/request-error 2.1.0 5.1.1 Transitive CVE fix after @actions/github@octokit/core / @octokit/request parent bump
@octokit/endpoint 6.0.12 9.0.6 Transitive CVE fix after @octokit/request parent bump
@actions/http-client 2.2.3 3.0.2 Transitive after @actions/github parent bump; carries patched undici@^6.23.0
@octokit/core 3.6.0 5.2.2 Transitive after @actions/github parent bump; required for @octokit/request and @octokit/request-error fix
@octokit/graphql 4.8.0 7.1.1 Transitive after @actions/github parent bump; required for @octokit/request fix

@aikido-autofix

Copy link
Copy Markdown
Author

Closed by Aikido: a new AutoFix has been created → #21

@aikido-autofix aikido-autofix Bot closed this Jul 29, 2026
@aikido-autofix
aikido-autofix Bot deleted the fix/aikido-security-update-packages-47030590-ivog branch July 29, 2026 01:04
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.

0 participants