[Aikido] Fix 8 security issues in devalue, astro, sharp - #15
Closed
aikido-autofix[bot] wants to merge 1 commit into
Closed
[Aikido] Fix 8 security issues in devalue, astro, sharp#15aikido-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 → #17 |
aikido-autofix
Bot
deleted the
fix/aikido-security-update-packages-72187802-5vwh
branch
August 14, 2026 01:47
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.
Node.js Version Requirement (Astro 6.0.0)
Where your code is affected:
.github/workflows/deploy.yml:11specifiesnode-version: 22without a specific minor versionImpact: Astro 6.0.0 requires Node.js >= 22.12.0. The current GitHub Actions workflow uses
node-version: 22which will use the latest 22.x available, but local development environments or other CI systems may use older Node.js 22.x versions (< 22.12.0) that are incompatible with Astro 6.0.0.Remediation: Update the workflow to specify
node-version: 22.12.0or higher, and ensure all development environments and CI/CD systems use Node.js >= 22.12.0. Add an.nvmrcfile with22.12.0to standardize the Node.js version across all environments.All other breaking changes in the Astro 6.0.0 and Sharp 0.35.0 upgrades do not affect this codebase as the project does not use:
Astro integration/adapter APIs
Content collections or loaders
Astro.glob(), ViewTransitions, or other deprecated components
Session drivers, CSP configuration, or experimental flags
Sharp directly in the codebase
CommonJS config files (uses ESM with
.mjs)Deprecated Sharp properties or methods
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. A companion bump to@astrojs/reactwas required for astro 6.x compatibility. A targetedoverridesentry was added to forcesharpto its patched version, sinceastro@6.xdoes not natively allowsharp@0.35.x.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 of the reportedastrovulnerabilities are only patched in the 6.x line (the earliest fix being6.1.6, with the full set requiring6.4.6). Because@astrojs/react4.x requires astro 5.x, its spec was simultaneously raised to^6.0.0to maintain a working integration under astro 6.x.devalue
devalueis a transitive dependency pulled in byastro. Underastro@5.x, it was declared as^5.6.2and resolved to the vulnerable5.7.1. After bumpingastroto6.4.6, that release declaresdevalue: "^5.8.1", which causes npm to resolvedevalueto5.8.2— satisfying the patched version floor of5.8.1without any additional manifest change or override.sharp
sharpis an optional transitive dependency ofastro, resolved to the vulnerable0.34.5.astro@6.4.6declaressharp: "^0.34.0", which excludes the patched0.35.0release; the firstastroversion to natively allow^0.35.0is7.0.4, which is beyond the required fix target. A targetedoverridesentry ("sharp@<0.35.0": "0.35.0") was therefore added to the rootpackage.jsonto force only vulnerable instances to0.35.0, leaving any already-patched instances unaffected.Version changes
astro^5.7.10→5.18.1^6.4.6→6.4.8@astrojs/react^4.2.1^6.0.0→6.0.1devalue5.7.15.8.2astronow declares^5.8.1)sharp0.34.50.35.0sharp@<0.35.0) —astro@6.xpins^0.34.0, excluding patched0.35.x