Astro cache advisory recheck (2026-10-10)
This page rechecks the 2026-10-03 review. It is a dependency and source review, not a test against a deployed cache.
Upstream state
gh api /advisories/GHSA-ch52-4w7c-c8xpstill listshttp-cache-semantics <= 4.2.0as vulnerable and gives no patched version. The advisory was last updated 2026-10-02.- Upstream fix PR #58 was closed without merging on 2026-10-04. The maintainer's comment disputes the report: data private to one user should use
Cache-Control: private. http-cache-semantics@4.3.0was published on 2026-10-04. Comparing the published 4.2.0 and 4.3.0index.jsfiles shows changes only toVarymatching, inherited-property checks and a new responsestatus()accessor. Themax-stalebranch inevaluateRequest()is unchanged. Because 4.3.0 falls outside the advisory's version range,npm auditwould stop reporting it, but the behavior the advisory describes is unchanged.astro@7.3.8is current and depends onhttp-cache-semantics@^4.2.0. In its publisheddist, the library is imported only byassets/build/remote.js. That file calls onlystorable()andtimeToLive()to compute remote-image expiry. It does not callsatisfiesWithoutRevalidation()orevaluateRequest().
Decision
The repository and example lockfiles stay on astro@7.3.5 and http-cache-semantics@4.2.0. Moving to 4.3.0 would silence the audit finding without changing the reported behavior, which would be a misleading green check. Agent Native and its Astro examples never let http-cache-semantics answer requests from a shared cache. Astro, the only consumer, uses the library to compute how long remote images may be cached, not to decide whether a cached response may be reused.
This closes the Astro advisory gate for the 0.1.1 preview, with the following limits:
- The core and browser package has no dependency on
http-cache-semantics. - The Astro integration and examples use only build-time image expiry, which is outside the reported path.
- An application that runs its own shared HTTP cache on
http-cache-semanticsmust evaluate themax-stalebehavior itself and mark per-user responsesCache-Control: private.
Recheck when the advisory changes its range, when Astro changes its use of the library, or before a provider launch guide is published.
Evidence commands:
gh api /advisories/GHSA-ch52-4w7c-c8xpgh api repos/kornelski/http-cache-semantics/pulls/58and its commentsnpm view http-cache-semantics versionsandnpm view astro@7.3.8 dependencies.http-cache-semanticsnpm packof bothhttp-cache-semanticsversions, followed by adiffofindex.jsnpm pack astro@7.3.8, followed bygrepforhttp-cache-semantics,satisfiesWithoutRevalidationandevaluateRequestunderdist