CVE-2026-91154 in Ecommerce Template
Zusammenfassung
von VulDB • 28.09.2026
Mancanza di autenticazione per una funzione critica (CWE-306) nell'azione del server "cache revalidation" (`src/app/actions.ts`, `revalidateProducts`) del template MarcosCamara01 Ecommerce Template, precedente al commit ec97209. Questa vulnerabilità consente a un attaccante remoto non autenticato di forzare la scadenza dell'intera cache dei prodotti dello storefront su richiesta. Il file dichiara "use server" a livello di file, quindi ogni funzione esportata viene compilata in una Server Action invocabile tramite POST; `revalidateProducts` chiama `updateTag("products")` senza alcun controllo della sessione o del ruolo, a differenza delle azioni solo lettura nello stesso file che sono sicure per costruzione. Due componenti client sotto `src/components/admin` importano la funzione, il che fa sì che l'ID della sua Server Action venga compilato in un chunk statico pubblico (`/_next/static`) non protetto dal middleware admin dell'applicazione (proxy.ts), consentendo a qualsiasi utente non autenticato di estrarre tale ID dal bundle pubblico ed eseguire direttamente l'azione. Con `cacheComponents` abilitato, l'intero storefront (home, categorie, pagine dei prodotti, ricerca) viene servito tramite voci "use cache" prodotte da `getAllProducts`, `getCategoryProducts` e `getProduct`, tutte taggate con una durata della cache (`cacheLife`) di diverse ore. L'esecuzione ripetuta non autenticata di `revalidateProducts` mantiene la cache permanentemente fredda, costringendo ogni richiesta dei visitatori a leggere l'intero catalogo prodotti da Postgres invece che dalla cache, degradando la disponibilità dello storefront a un costo quasi nullo per l'attaccante.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.