Chiudere il / next/image open proxy

Fixkamo-internal
Spegnimento
3 agosto 2026 alle ore 03:34 UTC
Autore
kamo
Impegno
ae85a8a

remotePatterns era [{ protocol: "https", hostname: "**" }]. Che ha fatto l'immagine ottimizzatore un fetcher generico: qualsiasi chiamante potrebbe chiedere a questo server di recuperare qualsiasi URL, senza controllo schema, nessun controllo indirizzo, nessun limite di reindirizzamento e nessuna dimensione limite, da un baccello che siede accanto a un Redis non autorizzato su 6379, MinIO con credenziali root su 9000 e CockroachDB su 26257. Ha predato il lavoro dell'avatar e sarebbe diventato portante il momento in cui le immagini hanno cominciato a scorrere attraverso di esso. Enumerare gli host consentiti non è mai stata la soluzione. Questa è una piattaforma white-label — ogni inquilino ha il proprio tema. config è valutato a tempo di costruzione, in modo da non poterli conoscere. Denominare un inquilino si romperebbe immagini per tutti gli altri. Quindi gli URL stranieri non raggiungono più l'ottimizzazione. safeImageSrc() riscrive qualsiasi fonte assoluta https a /api/images/proxy, che lo fetches server-side dietro gli stessi controlli di Java-side fetcher: DNS pinned tramite una ricerca personalizzata in modo che il socket si collega a un indirizzo che è stato effettivamente veterinario (chiusura della rilegatura finestra un ingenuo hostname pre-check lascia aperto), reindirizza rifiutati, uno streaming dimensione cap contato contro byte ricevuto piuttosto che un Contenuto-Lunghezza un ostile origine understates, e un content-type consentlist in modo da una pagina soft-404 di HTML mai rende come immagine. remotePatterns ora è vuoto a parte localhost. Applicato a ogni sito di chiamata che trasporta un'origine straniera — immagine e-mail-template blocchi (URL forniti dall'utente), logo org e software, marcatura, membro sfondi di sfondo — e anche ai siti <img> grezzi, che il CSP avrebbe altrimenti hanno iniziato a bloccare. Questo include Contatto.photoUrl, reso in sette posti da un campo di testo libero qualsiasi utente con diritti di creazione di contatti può impostare: proxying rimuove il pixel di tracciamento memorizzato, dal momento che il nostro server fa il fetch e l'IP dello spettatore e i tempi di lettura non raggiungono mai l'host scelto. Sinistra da sola deliberatamente: fonti che sono letterali locali (/img/..., /logo/...). Proxying quelli aggiungerebbe un viaggio rotondo e non comprare nulla. safeImageSrc deliberatamente non consulta `window`. Funziona durante la SSR e di nuovo sull'idratazione, e restituire un percorso nudo su un passaggio e un URL proxy sull'altro è un'idratazione mismatch su ogni immagine originale assoluta — vale un ridondante saltare in un caso raro per mantenere entrambi i passaggi identici. La guardia è un gemello deliberato del Java PublicHostGuard, testato contro il stessi bypass — IPv4-mapped, 6to4, NAT64, CGNAT, metadati link-locali — quindi i due non può tranquillamente divergere.

Tutte le modifiche

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo