Erkennen und Verhindern einer Sicherheitslücke zum Umgehen von Autorisierungskontrollen in Next.js

Wenn die Middleware umgangen wird, führt die App ihre normalen Sicherheitsroutinen nicht aus, … was unbefugte Zugriffe zur Folge haben kann.
Wenn die Middleware umgangen wird, führt die App ihre normalen Sicherheitsroutinen nicht aus, … was unbefugte Zugriffe zur Folge haben kann.

Zusammenfassung

  • Am 21. März 2025 wurde eine neue kritischen Sicherheitslücke zum Umgehen von Autorisierungskontrollen in Next.js mit einem CVSS-Wert von 9,1 veröffentlicht und ihr wurde die Nummer CVE‑2025‑29927 zugewiesen. Diese Sicherheitslücke ermöglicht es Angreifern, einen Fehler in der Middleware-Verwaltung des Frameworks auszunutzen und dadurch Authentifizierungs- und Autorisierungskontrollen zu umgehen und sensible Routen für unberechtigten Zugriff zu exponieren.

  • Die Sicherheitslücke kann ohne Authentifizierung ausgenutzt werden, wodurch unbefugter Zugriff auf geschützte Routen möglich wird.

  • Die Akamai Security Intelligence Group (SIG) hat erste Exploit-Versuche beobachtet, bei denen potenzielle Server auf diese Sicherheitslücke untersucht wurden.

  • In diesem Blogbeitrag informieren die Forscher von Akamai detailliert über die Schwachstelle, Exploit-Techniken und Erkennungsstrategien.

  • Eine Schnellregel der Akamai Adaptive Security Engine schützt Kunden von Akamai App & API Protector automatisch

Was ist CVE-2025-29927?

CVE‑2025‑29927 ist eine Sicherheitslücke zum Umgehen von Autorisierungskontrollen in Next.js, einem Open Source-React-Framework, das weit verbreitet ist und eingesetzt wird, um Website-Ladezeiten zu verringern und SEO-Bewertungen zu verbessern. Die Sicherheitslücke wurde am 21. März 2025 veröffentlicht und erhielt einen sehr kritischen CVSS-Wert von 9,1. Wenn sie ausgenutzt wird, kann ein Angreifer Middleware-basierte Sicherheitskontrollen umgehen, indem er einen Header imitiert, der ausschließlich für den internen Gebrauch bestimmt ist.

Next.js verwendet Header, um Endlosschleifen bei der Verarbeitung von Anfragen zu vermeiden. Der vorhersehbare Wert, der auf dem Dateipfad der Middleware basiert, kann jedoch von einem Angreifer leicht imitiert werden. Wird der korrekte Header-Wert in eine HTTP-Anfrage integriert, können Angreifer die Anwendung in einigen Fällen dazu bringen, Authentifizierungs- und Autorisierungskontrollen zu überspringen, und sich so Zugriff auf geschützte Ressourcen verschaffen.

Schwachstellendetails

Next.js verwendet Middleware, um eingehende HTTP-Anfragen zu verarbeiten, bevor sie die zentrale Anwendungslogik erreichen. Middleware führt in der Regel wichtige Aufgaben aus, darunter Authentifizierung, Autorisierung und Festlegen von Sicherheits-Headern. Das Framework verwendet einen internen Header „x‑middleware‑subrequest“, mit dem diese Prozesse und interne Anfrage-Ströme verwaltet sowie Probleme wie Endlosschleifen bei der Verarbeitung von Anfragen verhindert werden.

Das Kernproblem liegt in der unsachgemäßen Validierung des Headers „x‑middleware‑subrequest. Dieser Header ist nur für den internen Gebrauch vorgesehen, sein Wert ist jedoch vorhersehbar – häufig basiert er auf dem Speicherort oder dem Namen der Middleware-Datei. Die Folge: Ein Angreifer kann eine einfache Anfrage erstellen, die diesen Anfrage-Header imitiert, und so das System dazu bringen, die Anfrage als interne Anfrage zu behandeln und kritische Kontrollen zu umgehen.

Wird die Middleware auf diese Weise umgangen, führt die App ihre standardmäßigen Sicherheitsroutinen wie Identitäts- oder Rollenüberprüfung nicht aus, was einen unbefugten Zugriff auf sensible oder eingeschränkte Teile der Anwendung zur Folge haben kann. Wenn bestimmte Bedingungen erfüllt sind, ist diese Schwachstelle besonders gefährlich, da sie ohne vorherige Authentifizierung ausgenutzt werden kann.

CVE-2025-29927 betrifft mehrere Versionen von Next.js. Auch wenn sich die Exploit-Methode je nach Version leicht unterscheidet, bleibt das Kernproblem gleich. In älteren Versionen nutzt der Exploit einen erstellten Anfrage-Header, der _middleware als Wert enthält, während in neueren Versionen middleware oder src/middleware verwendet werden, um eine Anpassung an die aktualisierte Dateistruktur und Namenskonventionen der Middleware zu gewährleisten.

Die Sicherheitslücke wurde in den Versionen 14.2.25 und 15.2.3 von Next.js behoben, aber Server mit Next.js-Versionen, die älter sind als 14.2.25 (für 14.x) oder 15.2.3 (für 15.x), sowie den Versionen 11.1.4 bis 13.5.6 sind möglicherweise immer noch anfällig.

Erfasster Angriffstraffic

Die Akamai SIG hat bereits erste Exploit-Versuche beobachtet, die auf diese Schwachstelle abzielen und bei denen Angreifer potenzielle Server sondierten. Unter den identifizierten Payloads fällt eine Methode auf, bei der der Header x-middleware-request mit dem Wert src/middleware:src/middleware:src/middleware:src/middleware:src/middlewareverwendet wird.

Dieser Ansatz simuliert mehrere interne Unteranfragen innerhalb einer einzigen Anfrage und löst die interne Umleitungslogik von Next.js aus – ein Vorgang, der stark an mehrere öffentlich verfügbare Proof-of-Concept-Exploits erinnert (Abbildung 1).

This approach simulates multiple internal subrequests within a single request, triggering Next.js’s internal redirect logic — closely resembling several publicly available proof-of-concept exploits (Figure 1). Fig. 1: Examples of a common attack variant

Auch andere Angriffsvarianten, die speziell auf ältere Versionen von Next.js abzielen, wurden beobachtet. Abbildung 2 zeigt eine Variante, bei der die Payload pages/_middleware=verwendet wurde.

Figure 2 illustrates a variant that used the payload pages/_middleware=. Fig 2: Another example of a common attack variant

Abwehr mit Akamai App & API Protector

Am 24. März 2025 implementierte das Akamai Threat Research Team eine Schnellregel der Adaptive Security Engine zur Erkennung dieser CVE (Abbildung 3).

  • 3000958 – Next.js Middleware Authorization Bypass (CVE-2025-29927)

On March 24, 2025, Akamai Threat Research Team also deployed an Adaptive Security Engine Rapid Rule that detects the CVE (Figure 3). Fig 3. Rapid Rule trigger as seen in Web Security Analytics

Kunden, die App & API Protector nutzen, sind durch diese neue Regel vollständig geschützt (Abbildung 4).

On March 24, 2025, Akamai Threat Research Team also deployed an Adaptive Security Engine Rapid Rule for App & API Protector customers to provide them with full coverage (Figure 4). Fig. 4: Adaptive Security Engine Rapid Rule provides full coverage to App & API Protector customers

In Version 1 der Schnellregel ist die Standardaktion auf Warnunggesetzt. Um Angriffsversuche zu blockieren, können Kunden die Regelaktion auf Ablehnen setzen, nachdem die Auslöser überprüft wurden, um Fehlalarme zu vermeiden.

VORSICHT: Wir haben festgestellt, dass einige Kunden diesen Header auf legitime Weise mit dem Namen der Middleware als Wert verwenden. Wir empfehlen daher, diese Regelaktion nicht auf Ablehnen zu ändern, ohne weitere Analysen durchzuführen und zusätzliche Bedingungen anzuwenden.

Zusammenfassung

Die Akamai SIG wird weiterhin sowohl für unsere Kunden als auch für die gesamte Sicherheitscommunity Bedrohungen wie diese überwachen, Berichte darüber erstellen und Maßnahmen zur Abwehr entwickeln. Weitere aktuelle Neuigkeiten der Akamai SIG finden Sie auf unserer Forschungs-Homepage und in den sozialen Medien.