CVE-2025-29927: Autorisierungs-Bypass in Next.js-Middleware
23. März 2025
0 Min. Lesezeit
CVE-2025-29927: Autorisierungs-Bypass in Next.js-Middleware
Am Freitagmorgen, dem 21. März 2025, um 9:00 Uhr UTC, wurde eine Sicherheitsmeldung mit der Kennung CVE-2025-29927 veröffentlicht. Darin wurde eine kritische Schwachstelle mit einem Schweregrad von 9,1 für gängige Next.js-Anwendungen genannt.
Als anfällig gelten folgende Next.js-Versionen:
Next.js-Versionen 15.x vor 15.2.3
Next.js-Versionen 14.x vor 14.2.25
Next.js-Versionen 13.x vor 13.5.9
Alle Next.js-Versionen bis einschließlich der behobenen Version Next.js 13.5.9 gelten als anfällig. In der Ankündigung der Schwachstelle wies Vercel jedoch auf eine möglicherweise bald verfügbare Behelfslösung oder einen Backport des Fixes hin.
Wir empfehlen allen Entwicklerinnen und Entwicklern dringend, auf die neueste Version von Next.js mit einem Fix zu aktualisieren und diese bereitzustellen, um kritische Autorisierungs-Bypässe und die Umgehung anderer Middleware-Logik zu vermeiden.
Auswirkungen von CVE-2025-29927
Vercel gab bekannt, dass diese Schwachstelle keine Auswirkungen auf Anwendungen hat, die auf der Hosting-Plattform von Vercel gehostet werden.
Netlify, eine weitere beliebte Webhosting-Plattform, gab bekannt, dass diese Schwachstelle keine Auswirkungen auf Anwendungen hat, die bei Netlify bereitgestellt werden.
Cloudflare, das häufig als CDN eingesetzt wird, aber auch Next.js-Anwendungen hosten kann, ermöglicht Entwicklerinnen und Entwicklern, optional eine verwaltete WAF-Regel als Behelfslösung zu aktivieren.
Über Next.js-Middleware
Das Middleware-Konzept von Next.js ist dem Express-Webanwendungsframework entlehnt. Middleware ist ein HTTP-Prädikat, das festlegt, wie eine eingehende HTTP-Anfrage an einen Node.js-Server verarbeitet wird. Es kann die Anfrage ergänzen, umleiten oder über ihre Verarbeitung entscheiden.
Die Middleware-Definition von Next.js ähnelt der Funktionssignatur von Express: Sie erhält ein HTTP-Anfrageobjekt (NextRequest) und gibt eine NextResponse zurück, um ein bestimmtes Verhalten zu erzwingen. Dazu zählen beispielsweise eine HTTP-Antwort 401 Unauthorized, eine HTTP-Weiterleitung oder die Fortsetzung der Anfragenverarbeitung über eine NextResponse.next()-Anweisung.
Wie in der offiziellen Next.js-Dokumentation beschrieben, setzen Entwicklerinnen und Entwickler Middleware häufig für Authentifizierungs- und Autorisierungsentscheidungen ein. Dazu gehört etwa, ein Cookie oder ein JWT in der Anfrage zu validieren, bevor der Zugriff auf geschützte Routen gewährt wird.

Autorisierungs-Bypass in Next.js
Die Sicherheitsforscher Allam Rachid und Allam Yasser, die diese Schwachstelle (und frühere Next.js-Schwachstellen) untersucht und gemeldet haben, zeigten, wie externe Clients die Middleware-Logik umgehen können, wenn sie über die Middleware verwaltete geschützte Routen in Next.js aufrufen.
Um die Middleware zu umgehen, müssen Clients bei Anfragen folgenden HTTP-Header angeben:
Die Next.js-Logik verarbeitet den HTTP-Header x-middleware-subrequest, um zu entscheiden, ob und wann Anfragen die Middleware-Logik umgehen dürfen und so Endlosschleifen zu vermeiden. In den oben genannten anfälligen Next.js-Versionen ist diese Logik jedoch fehlerhaft und ermöglicht es, jede eingehende Anfrage an einen Next.js-Server zu umgehen, sofern der HTTP-Header x-middleware-subrequest mit einem bestimmten Wert vorhanden ist.
Hinweis zur Reproduktion: Der genaue Wert des HTTP-Headers variiert und hängt von Ihrer Next.js-Version ab.
Bin ich von CVE-2025-29927 betroffen, dem Autorisierungs-Bypass in Next.js?
Entwicklerinnen und Entwickler, die Snyk Open Source nutzen, um Schwachstellen in Abhängigkeiten in ihrer IDE, ihrem Git-SCM, ihrer CI oder im Monitoring-Workflow von Snyk zu erkennen, werden wie im folgenden GitHub-Repository, das in Snyk-Projekte importiert wurde, auf CVE-2025-29927 hingewiesen:

Die Details zur Next.js-Schwachstelle bei Snyk zeigen einen Aktualisierungspfad auf (z. B. next@14.2.25, wie in meinem Fall). Snyk-Nutzerinnen und -Nutzer können die Schwachstelle außerdem mit einem Klick schnell beheben oder die Behebung vollständig automatisieren:

Sie sind wahrscheinlich von einem Autorisierungs-Bypass in Next.js betroffen und anfällig, wenn:
Sie Next.js-Versionen von 11.1.4 bis 13.5.6 ausführen
Sie anfällige Next.js-Versionen selbst hosten (14.x < 14.2.25 oder 15.x < 15.2.3)
CVE-2025-29927 beheben und Behelfslösungen
Je nachdem, welche Next.js-Versionen Sie verwenden und wo Sie diese bereitstellen, stehen Fixes oder andere Maßnahmen zur Behebung zur Verfügung:
Aktualisieren Sie auf eine behobene Next.js-Version aus der neuesten 14.x- oder 15.x-Versionsreihe.
Wenden Sie eine Firewall-Regel an, die verhindert, dass externe HTTP-Anfragen mit dem Header x-middleware-subrequest die interne Next.js-Anwendungsinfrastruktur erreichen.
Bereitstellungen auf Vercel und Netlify sind nicht betroffen, wie diese Cloud-Hosting-Plattformen mitteilten
Entdecken Sie den Stand der Open-Source-Sicherheit
Erfahren Sie mehr über aktuelle Trends und Ansätze für Open-Source-Software und Supply-Chain-Sicherheit.
