[Aikido] Fix 16 security issues in h3, @astrojs/node, devalue and 4 more#1270
Closed
aikido-autofix[bot] wants to merge 1 commit intomainfrom
Closed
[Aikido] Fix 16 security issues in h3, @astrojs/node, devalue and 4 more#1270aikido-autofix[bot] wants to merge 1 commit intomainfrom
aikido-autofix[bot] wants to merge 1 commit intomainfrom
Conversation
f07ebfd to
d4ecbad
Compare
Contributor
|
Closed to generate a new one |
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 SSE injection in H3 and multiple high-severity vulnerabilities in Astro: SSRF, memory exhaustion DoS, and unauthorized remote image fetching.
✅ No breaking changes from either package upgrade affect this codebase:
h3 (1.15.5 => 1.15.9):
The codebase doesn't use Server-Sent Events (SSE), so the SSE sanitization changes don't apply
The codebase doesn't directly use h3's static file serving or path handling functions, so the path traversal fixes don't affect it
h3 is only a transitive dependency through
@astrojs/nodeandunstorage, with no direct usage@astrojs/node (9.3.3 => 10.0.0):
The
experimentalErrorPageHostoption is not configured infrontend/astro.config.ts(onlymode: "standalone"is set)The
allowedDomainsoption is not configured, and the codebase doesn't rely onX-Forwarded-Protoheader handling in the Astro adapter (CSRF handling is done in the Django backend)The upgrade can proceed safely.
All breaking changes by upgrading @astrojs/node from version 9.3.3 to 10.0.0 (CHANGELOG)
experimentalErrorPageHostoption - this option for fetching prerendered error pages from a different host has been removed due to security implications and must be deleted from adapter configurationX-Forwarded-Prototo only be trusted whenallowedDomainsis configured - this changes the behavior of CSRF origin checking and may affect deployments that previously relied onX-Forwarded-Protowithout configuringallowedDomains✅ 16 CVEs resolved by this upgrade, including 1 critical 🚨 CVE
This PR will resolve the following CVEs:
\r) characters in data and comment fields, allowing attackers to inject arbitrary SSE events, spoof event types, and split single push() calls into multiple browser-parsed events. This bypasses a prior fix that only addressed newline (\n) injection.image.domains/image.remotePatternsrestrictions wheninferSizeis enabled, enabling server-side requests to unauthorized hosts including internal services (SSRF vulnerability). Attackers can exploit this by controlling image URLs to fetch from arbitrary domains.__proto__own properties, enabling prototype pollution attacks when downstream code uses unsafe operations likeObject.assignto merge the parsed result, potentially allowing arbitrary code execution or property manipulation.unevaling untrusted data can produce output code that will create objects with polluted prototypes when laterevaled, meaning the output data can be a different shape from the input data.unevalorstringifycan cause CPU and memory exhaustion, leading to denial of service on affected servers. Exploitation is impractical as it requires attackers to create sparse arrays on the server through unsupported wire formats.bind:innerTextandbind:textContentoncontenteditableelements allows HTML injection and Cross-Site Scripting (XSS) attacks when rendering untrusted data as initial binding values on the server.transformErrorare not properly escaped before being embedded in HTML output, allowing HTML injection and XSS attacks if attacker-controlled content is returned from the function.