fix(security): Bildoptimierer abschalten
/_next/image war ohne Anmeldung erreichbar und antwortete mit 200. Die Middleware nimmt den Pfad aus, weil dort sonst nur Rechenzeit verbraucht wuerde - gedacht war das fuer ausgelieferte Dateien, nicht fuer einen Endpunkt, der Bilder verarbeitet. Er reicht jedes Bild durch sharp und damit durch libvips, fuer das es regelmaessig Schwachstellen gibt; derzeit sind vier offen (CVE-2026-33327, -33328, -35590, -35591). Ausnutzbar waere das hier nur mit einer Datei, die schon auf dem Server liegt - hochladen kann man nichts. Aber Nebula benutzt next/image ohnehin nirgends: eine Angriffsflaeche ohne Gegenwert. Der Optimierer ist deshalb abgeschaltet, und der Pfad ist nicht mehr von der Zugangsschranke ausgenommen. Ein Test haelt fest, dass er ohne Anmeldung nicht mehr mit 200 antwortet. Die Advisories zu postcss und sharp bleiben in npm audit stehen: Next pinnt beide fest, auch in 16.2.12 - ein Versionssprung wuerde daran nichts aendern. postcss laeuft nur zur Bauzeit ueber eigenes CSS. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -9,6 +9,21 @@ const nextConfig: NextConfig = {
|
||||
poweredByHeader: false,
|
||||
// Prisma darf nicht gebundlet werden, sonst findet der Client seine Engine nicht.
|
||||
serverExternalPackages: ["@prisma/client", "prisma"],
|
||||
images: {
|
||||
/**
|
||||
* Der Bildoptimierer ist abgeschaltet.
|
||||
*
|
||||
* Nebula benutzt next/image nirgends – die paar Symbole sind SVG und
|
||||
* PNG in fester Groesse. Der Endpunkt /_next/image waere aber trotzdem
|
||||
* da, und zwar ohne Anmeldung: die Middleware nimmt ihn aus, weil dort
|
||||
* sonst nur Rechenzeit verbraucht wuerde.
|
||||
*
|
||||
* Er reicht jedes Bild durch sharp und damit durch libvips, fuer das es
|
||||
* regelmaessig Schwachstellen gibt (aktuell CVE-2026-33327 und drei
|
||||
* weitere). Eine Angriffsflaeche ohne Gegenwert – also weg damit.
|
||||
*/
|
||||
unoptimized: true,
|
||||
},
|
||||
};
|
||||
|
||||
export default nextConfig;
|
||||
|
||||
Reference in New Issue
Block a user