[Aikido] Fix 8 security issues in devalue, astro, sharp - #11
Closed
aikido-autofix[bot] wants to merge 1 commit into
Closed
[Aikido] Fix 8 security issues in devalue, astro, sharp#11aikido-autofix[bot] wants to merge 1 commit into
aikido-autofix[bot] wants to merge 1 commit into
Conversation
Author
|
Closed by Aikido: a new AutoFix has been created → #12 |
aikido-autofix
Bot
deleted the
fix/aikido-security-update-packages-72187816-r4xo
branch
August 14, 2026 01:48
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, Astro, and sharp to fix memory exhaustion DoS, SSR host header injection, image processing RCE, XSS via slot names, and script tag injection vulnerabilities. This update includes breaking changes that require manual migration.
1. Node.js version requirement (Astro 6.0.0)
Where your code is affected:
.github/workflows/deploy.yml:22specifiesnode-version: 22Impact: Astro 6.0.0 requires Node.js >= 22.12.0, but the workflow specifies
node-version: 22which may resolve to an earlier 22.x version (e.g., 22.0.0) that doesn't meet the minimum requirement. This will cause the build to fail.Remediation: Update the workflow to specify
node-version: 22.12.0or higher (e.g.,node-version: '22.12'ornode-version: 'lts/*').2. TypeScript configuration changes (Astro 6.0.0)
Where your code is affected:
tsconfig.json:2extendsastro/tsconfigs/strictImpact: Astro 6.0.0 changes the TypeScript configuration, which may affect how the extended strict config behaves. This could lead to new type errors or different compilation behavior.
Remediation: Review and test the TypeScript compilation after upgrade, and adjust type definitions if necessary based on the new Astro 6.0 TypeScript configuration.
3. Vite 7.0 upgrade (Astro 6.0.0)
Where your code is affected:
astro.config.mjs:7-9uses Vite plugins configurationImpact: Astro 6.0.0 upgrades to Vite 7.0, which may introduce breaking changes in how Vite plugins are configured or behave, potentially affecting the
@tailwindcss/viteplugin.Remediation: Verify that
@tailwindcss/viteis compatible with Vite 7.0 and update it if necessary.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.cspAll breaking changes by upgrading sharp from version 0.34.5 to 0.35.0 (CHANGELOG)
installscript frompackage.jsonfile. Compiling from source is now opt-in via thebuildscript.iqquality metrics.limitInputChannelswith a default value of 5.failOnErrorconstructor property.paletteBitDepthfrommetadataresponse.sharpenoperation.format.jp2kasformat.jp2for API consistency.✅ 8 CVEs resolved by this upgrade
This PR will resolve the following CVEs:
🤖 Remediation details
Fix security vulnerabilities in
astro,devalue, andsharpShort summary
This PR remediates security vulnerabilities in three npm packages —
astro,devalue, andsharp— by updating the rootpackage.jsonand refreshingpackage-lock.json. Theastrodirect dependency was bumped across a major version boundary (5→6), which also resolved thedevaluetransitive vulnerability via the new parent's updated range. A companion bump of@astrojs/react(4→5) was required forastro@6.xpeer-compatibility. A targetedoverridesentry was added forsharpbecause noastro@6.xrelease widens itssharprange to include0.35.0.astro
astrois a direct dependency declared in the rootpackage.json. Its spec was raised from^5.7.10to^6.4.6, resolving to6.4.8in the lockfile. This major bump was necessary because all patched versions for the multipleastroadvisories (covering path traversal, header injection, and related issues) requireastro ≥ 6.1.6through≥ 6.4.6, none of which are reachable from the^5.xrange. Because@astrojs/react@4.xtargetsastro@5.xas a peer, its spec was simultaneously raised to^5.0.0(resolving to5.0.7) to maintain a compatible integration layer; without this changenpmwould report an unresolved peer conflict.devalue
devalueis a transitive dependency pulled in byastro. Underastro@5.18.1it was declared as^5.6.2and resolved to5.7.1, which is below the patched floor of5.8.1. Bumpingastroto6.4.8(see above) brought in a newdevaluedeclaration of^5.8.1, which npm resolved to5.8.2, satisfying the patched version requirement without any additional manifest change or override.sharp
sharpis an optional transitive dependency ofastro. Underastro@6.xit is declared as^0.34.0, which excludes the patched0.35.0release; the firstastroversion that widens this range to^0.34.0 || ^0.35.0is7.0.4, well beyond the6.4.6target. Because a further major bump ofastrowas outside the scope of this task, a selector-pattern override"sharp@<0.35.0": "0.35.0"was added to the rootpackage.jsonto pin only vulnerable instances to0.35.0, leaving any future0.35.x-or-higher resolutions unaffected.Version changes
astro^5.7.10→5.18.1^6.4.6→6.4.8@astrojs/react^4.2.1→4.2.1^5.0.0→5.0.7astro@6.xdevalue5.7.15.8.2astro)sharp0.34.50.35.0sharp@<0.35.0);astro@6.xpins^0.34.0