[Aikido] Fix 7 security issues in devalue, astro#10
Open
aikido-autofix[bot] wants to merge 1 commit into
Open
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 devalue and Astro to fix memory exhaustion, host header injection, XSS via unescaped slots, script tag bypass, and encrypted prop replay vulnerabilities.
✅ Code not affected by breaking changes.
✅ No breaking changes from the Astro 5.18.1 to 6.4.6 upgrade affect this codebase.
The codebase is a simple documentation site that:
Uses basic Astro features (
.astrocomponents, layouts, pages)Has a modern ESM-based configuration file (
astro.config.mjs)Uses
import.meta.env.BASE_URL(not the deprecatedASSETS_PREFIX)Uses TypeScript with
extends: "astro/tsconfigs/strict"Has no content collections, no API endpoints, no adapters, no integrations beyond React
Has no custom build hooks, no session drivers, no Actions, no i18n configuration
Already uses Vite (configured in
astro.config.mjs)The breaking changes that could theoretically affect similar projects (Node.js version requirement, Vite 7 upgrade, Shiki v4, TypeScript configuration changes) are already satisfied in this codebase as it's using Astro 6.4.6 with all compatible dependencies already in place.
All breaking changes by upgrading astro from version 5.18.1 to 6.4.8 (CHANGELOG)
entryPointsonastro:build:ssrhook (Integration API)loadManifest()andloadApp()fromastro/app/node(Adapter API)testdriverentryTypetoentrypointResolutionin Adapter API and updates possible values:legacy-dynamicbecomesexplicit,selfbecomesautoemitESMImage()functionroutesonastro:build:donehook (Integration API)getImage()fromastro:assetsis called on the clientapp.render()signature (Adapter API)prefetch()withoption%25)AstroingetStaticPaths()createSchema()property (Loader API)import.meta.env.ASSETS_PREFIXparamsreturned bygetStaticPaths()Astro.glob()createExports()andstart()(Adapter API)NodeAppfromastro/app/node(Adapter API)handleFormsprop for the<ClientRouter />componentrenderMarkdownin content loaders - frontmatter is now extracted and excluded from HTML output<ViewTransitions />componentRouteData.generatefrom the Integration APIi18n.routing.redirectToDefaultLocalefromtruetofalseastro:transitionsinternalsshikito v4setManifestDatamethod fromAppandNodeApp(Adapter API)rewrite()from Actions contextexperimental.failOnPrerenderConflictflag and replaces it with a new configuration optionprerenderConflictBehaviorastro:schemaandzfromastro:contentin favor ofastro/zodastro:actionsinternalsSSRManifestproperties and adds several new required properties in the Adapter APIAstro.cspandcontext.cspto be undefined instead of throwing errors whencsp: trueis not configured - methods must now be accessed conditionallyastro:ssr-manifestvirtual moduleimport.meta.envvalues to always be inlined<script>and<style>tags to render in the order they are definedexperimental.fontsflag and replaces it with a new configuration optionfontsexperimental.cspflag and replaces it with a new configuration optionsecurity.csp✅ 7 CVEs resolved by this upgrade
This PR will resolve the following CVEs:
🤖 Remediation details
Fix security vulnerabilities in
astroanddevalueShort summary
This PR remediates multiple high- and medium-severity vulnerabilities in two npm packages:
astro(direct dependency) anddevalue(transitive dependency pulled in byastro). The fix required a semver-major bump toastroin the rootpackage.json, withpackage-lock.jsonupdated accordingly vianpm install --package-lock-only. No overrides were needed.astro
astrois declared as a direct dependency in the rootpackage.json. The installed version (5.18.1) was affected by multiple vulnerabilities requiring a minimum of6.4.6to fully remediate. Because the required fix crossed a major version boundary, the declared spec was updated from^5.7.10to^6.4.6;npm install --package-lock-onlyresolved it to6.4.8in the lockfile.devalue
devalueis a transitive dependency introduced byastroand was pinned at5.7.1, below the patched floor of5.8.1. Becauseastro@6.4.8declaresdevalue: "^5.8.1", bumpingastroto the^6.4.6range was sufficient to pulldevalueup to5.8.1automatically — no separate manifest edit or override was required.Version changes
astro^5.7.10(resolved5.18.1)^6.4.6(resolved6.4.8)devalue5.7.15.8.1astro) bump