Astro 6.1.8 behebt kritischen Netlify-Deploy-Bug und Sicherheitslücke im /_image-Endpoint

Astro 6.1.8 behebt kritischen Netlify-Deploy-Bug und Sicherheitslücke im /_image-Endpoint

lschvn

Astro 6.1.8 erschien am 18. April mit zwei Fixes, die Entwickler auf Netlify oder Vercel sofort anwenden sollten.

Der Dateinamen-Bug, der Netlify Deployments brach

Der wichtigste Fix adressiert eine Regression: Build-Output-Dateinamen konnten Sonderzeichen (!, ~, {, }) enthalten, die auf bestimmten Deployment-Plattformen ungültig oder getrimmt werden.

Das Problem zeigt sich auf Netlify. Die Skew-Protection von Netlify — die sicherstellt, dass deployte Assets zum Build-Output passen — entfernt diese Zeichen vor dem Deployment. Wenn Ihr gebautes HTML auf chunk.abc123!~{x}.js verweist und Netlify es als chunk.abc123.js ausliefert, ist die Referenz kaputt.

Das Astro-Team bestätigt, dass dies Builds betraf, bei denen dynamische Imports oder bestimmte Code-Splitting-Patterns Chunks mit Hash-Segmenten erzeugten, die diese Zeichen enthielten. Version 6.1.8 normalisiert die Ausgabe-Dateinamen.

/_image Endpoint Content-Type Confusion

Der zweite bemerkenswerte Fix schließt eine Sicherheitslücke im integrierten Bildoptimierungs-Endpoint von Astro (/_image). Der Endpoint akzeptierte einen beliebigen f=svg Query-Parameter und lieferte den von der Upstream-URL zurückgegebenen Inhalt als image/svg+xml aus — ohne zu prüfen, ob der Inhalt tatsächlich SVG war.

Ein Angreifer konnte dies für Content-Type-Confusion-Angriffe oder Cache-Poisoning nutzen. Das Astro-Team merkt an, dass der Endpoint allowedDomains explizit erfordert, was die Angriffsfläche begrenzt, aber der Fix ist dennoch richtig.

Performance: Dev-Server Dependency Caching

Der Dev-Server erhält eine kleine aber messbare Verbesserung: Das interne Crawling der Projekt-Abhängigkeiten wird nun zwischen Requests gecached. In Projekten mit vielen Routes reduziert dies redundante Dateisystem-Durchsuchungen bei jedem Page-Refresh.

Andere Fixes in 6.1.8

  • Fix für dynamische Import-Chunks, die bei jedem Build frische Hashes erhielten
  • allowedDomains werden nun korrekt an den Dev-Server propagiert
  • Vue Scoped Styles funktionieren korrekt während Client-Side-Router-Navigation im Dev-Modus
  • /_image-Endpoint validiert nun, dass die Quelle tatsächlich SVG ist
  • Fix für Build-Fehler auf Vercel und Netlify bei inter-Chunk JavaScript mit dynamischen Imports

Upgrade

Führen Sie px @astrojs/upgrade oder npm install astro@latest aus. Prüfen Sie auf Netlify oder Vercel, ob Ihr letztes Deployment alle Assets korrekt lädt.

Häufig gestellte Fragen

Verwandte Artikel

Weitere Berichterstattung zu ähnlichen Themen und Tags.

Nitro v3 Beta Update: Integriertes Tracing, Intelligente Abhängigkeits-Erkennung und Vercel Queues
TypeScript

Nitro v3 Beta Update: Integriertes Tracing, Intelligente Abhängigkeits-Erkennung und Vercel Queues

Das Nitro v3 Beta-Update vom April 2026 bringt experimentelle Tracing-Kanäle, Full-Trace-Abhängigkeitserkennung mit Native-Package-Erkennung, Vercel-Queue-Support und Tencent EdgeOne Pages-Deployment — zusammen mit H3 v2 Sicherheits- und Cookie-Verbesserungen.
Svelte März 2026: Programmatischer Context, HTML-Kommentare und Server-Seitige Error Boundaries
JavaScript

Svelte März 2026: Programmatischer Context, HTML-Kommentare und Server-Seitige Error Boundaries

Sveltes März-Update bringt createContext für programmatische Komponenteninstanziierung, HTML-Kommentare in Tags und SSR-Error-Boundaries.
TypeScript 6.0: Die letzte JavaScript-Version vor dem nativen Go-Compiler
TypeScript

TypeScript 6.0: Die letzte JavaScript-Version vor dem nativen Go-Compiler

TypeScript 6.0 erscheint als Brücken-Release mit neuen Features wie #/-Subpath-Imports, stabiler Type-Order und dem Weg zu TypeScript 7.0s nativem Go-Compiler.

Kommentare

Anmelden Melden Sie sich an, um an der Diskussion teilzunehmen.

Noch keine Kommentare. Seien Sie der Erste, der seine Gedanken teilt.