{"id":174413,"date":"2025-03-24T11:31:09","date_gmt":"2025-03-24T09:31:09","guid":{"rendered":"https:\/\/jfrog.com\/blog\/die-cve-2025-29927-sicherheitsluecke-zur-umgehung-der-autorisierung-in-next-js-alles-was-sie-darueber-wissen-muessen\/"},"modified":"2026-09-23T08:38:44","modified_gmt":"2026-09-23T06:38:44","slug":"cve-2025-29927-next-js-authorization-bypass","status":"publish","type":"post","link":"https:\/\/jfrog.com\/de\/blog\/cve-2025-29927-next-js-authorization-bypass\/","title":{"rendered":"Die CVE-2025-29927-Sicherheitsl\u00fccke zur Umgehung der Autorisierung in Next.js: Alles, was Sie dar\u00fcber wissen m\u00fcssen"},"content":{"rendered":"<p>CVE-2025-29927 &#8211; <\/p>\n<p>Am 21.\u00a0M\u00e4rz\u00a02025 gaben die Maintainer von Next.js eine neue Sicherheitsl\u00fccke bekannt, die eine Umgehung der Autorisierung erm\u00f6glicht\u00a0\u2013 CVE-2025-29927. Diese Sicherheitsl\u00fccke kann leicht ausgenutzt werden, um die Autorisierung zu umgehen. In einigen F\u00e4llen kann die Ausnutzung der Sicherheitsl\u00fccke auch zu Cache Poisoning und einem Denial-of-Service f\u00fchren.<br \/>\nWelche Versionen von Next.js sind betroffen?<br \/>\nNext.js 15.x\u00a0\u2013 von Version 15.0.0 bis einschlie\u00dflich 15.2.2.<\/p>\n<p>Next.js 14.x\u00a0\u2013 von Version 14.0.0 bis einschlie\u00dflich 14.2.24.<\/p>\n<p>Fr\u00fchere Next.js-Versionen\u00a0\u2013 ab Version 11.1.4 bis einschlie\u00dflich 13.5.6.<br \/>\nAngriffsszenarien f\u00fcr CVE-2025-29927<br \/>\nDamit die Schwachstelle \u00fcberhaupt ausgenutzt werden kann, muss der betroffene Next.js-Server eine Next.js-Middleware verwenden. Dies umfasst das Einbinden einer Datei middleware.js oder middleware.ts ( _middleware.js oder _middleware.ts\u00a0 f\u00fcr \u00e4ltere Versionen von Next.js). Diese Datei definiert und exportiert die Funktion middleware, die die Logik enth\u00e4lt, die bei jeder eingehenden HTTP-Anfrage ausgef\u00fchrt wird.<br \/>\nUmgehung der Autorisierung<br \/>\nDies ist das wahrscheinlichste Szenario, das CVE-2025-29927 ausnutzt.<\/p>\n<p>Dieses Szenario ist relevant, wenn der Next.js-Server des Opfers die Middleware-Funktion zur Durchf\u00fchrung der Autorisierung verwendet (und die zugrunde liegende Anwendung keine anderen Autorisierungsebenen verwendet).<\/p>\n<p>Szenario in Bezug auf die Autorisierungs-Middleware ohne Ausnutzung von CVE-2025-29927<\/p>\n<p>Autorisierungs-Middleware-Szenario ohne Ausnutzung von CVE-2025-29927<\/p>\n<p>Denial of Service durch Cache Poisoning<br \/>\nNext.js-Middleware kann auch bei der Lokalisierung von Websites helfen. Beispielsweise kann die Middleware Nutzer basierend auf ihrem Standort automatisch weiterleiten, indem sie etwa \/en f\u00fcr englischsprachige oder \/fr f\u00fcr franz\u00f6sische Besucher hinzuf\u00fcgt. Wenn jemand CVE-2025-29927 ausnutzt und die Middleware umgeht, die diese Weiterleitungen durchf\u00fchrt, landen sie, statt auf einer lokalisierten Seite, auf der Website-Root (\/), f\u00fcr die die Entwickler nie eine Seite erstellt haben. Wozu f\u00fchrt das? Einem 404-Fehler oder einem 500-Serverfehler, je nach Konfiguration.<\/p>\n<p>Wenn die Website ein\u00a0CDN oder eine andere Caching-Schicht verwendet, k\u00f6nnen diese Fehlerantworten gespeichert und zuk\u00fcnftigen Besuchern bereitgestellt werden. Sobald sie zwischengespeichert sind, sehen legitime Nutzer m\u00f6glicherweise weltweit fehlerhafte Seiten. Dadurch entsteht ein selbst verursachter Ausfall, der die Verf\u00fcgbarkeit beeintr\u00e4chtigt, ohne eine einzige Zeile Code zu \u00e4ndern.<\/p>\n<p>Redirector-Middleware-Szenario ohne Ausnutzung von CVE-2025-29927<br \/>\n\u00a0<\/p>\n<p>Redirector-Middleware-Szenario mit Ausnutzung von CVE-2025-29927<br \/>\n\u00a0<br \/>\nNext.js-Middleware verstehen<br \/>\nNext.js-Middleware ist eine leistungsstarke Funktion, die in Next.js v12 eingef\u00fchrt wurde und Entwicklern erm\u00f6glicht, Code auszuf\u00fchren, bevor eine Anfrage abgeschlossen wird. Middleware wird am Edge ausgef\u00fchrt, n\u00e4her am Nutzer als herk\u00f6mmlicher serverseitiger Code, und kann Response-Header \u00e4ndern, Anfragen umschreiben oder umleiten und\u00a0\u2013 was am wichtigsten ist\u00a0\u2013 Authentifizierungs- und Autorisierungspr\u00fcfungen implementieren.<\/p>\n<p>Middleware in Next.js wird vor dem Rendering ausgef\u00fchrt und kann \u00fcber Matcher-Konfigurationen f\u00fcr die Ausf\u00fchrung auf bestimmten Pfaden konfiguriert werden.<\/p>\n<p>Einige Anwendungsbeispiele f\u00fcr Next.js-Middleware sind:<\/p>\n<p> \t\u00dcberpr\u00fcfung von Authentifizierungs-Tokens<br \/>\n \tImplementierung einer rollenbasierten Zugriffskontrolle<br \/>\n \tWeiterleitung nicht authentifizierter Benutzer<\/p>\n<p>Eine typische Next.js-Middleware-Implementierung, die eine Authentifizierung durchf\u00fchrt, k\u00f6nnte wie folgt aussehen:<\/p>\n<p> import { NextResponse } from &#8217;next\/server&#8216;<br \/>\n import type { NextRequest } from &#8217;next\/server&#8216;<\/p>\n<p> export function middleware(request: NextRequest) {<br \/>\n   \/\/ Token des Benutzers aus den Cookies abrufen<br \/>\n   const token = request.cookies.get(&#8218;token&#8216;).value<\/p>\n<p>   \/\/ Pr\u00fcfen, ob der Benutzer authentifiziert ist<br \/>\n   const isAuthenticated = validateToken(token)<\/p>\n<p>   \/\/ Wenn nicht authentifiziert, zur Anmeldung weiterleiten<br \/>\n   if (!isAuthenticated) {<br \/>\n     return NextResponse.redirect(new URL(&#8218;\/login&#8216;, request.url))<br \/>\n   }<\/p>\n<p>   \/\/ Bei erfolgreicher Authentifizierung mit der gesch\u00fctzten Route fortfahren<br \/>\n   return NextResponse.next()<br \/>\n }<\/p>\n<p> \/\/ Konfigurieren, welche Routen diese Middleware verwenden<br \/>\n export const config = {<br \/>\n   matcher: [&#8218;\/dashboard\/:path*&#8216;, &#8218;\/settings\/:path*&#8216;],<br \/>\n }<br \/>\n\u00a0<\/p>\n<p>Technische Analyse von CVE-2025-29927<br \/>\nCVE-2025-29927 deckt einen kritischen Fehler bei der Verarbeitung bestimmter Anfragetypen durch die Next.js-Middleware auf, der zu einer m\u00f6glichen Umgehung von Authentifizierung und Autorisierung f\u00fchrt.<\/p>\n<p>Diese Schwachstelle betrifft Anwendungen, die in bestimmten Konfigurationen Middleware zur Zugriffskontrolle verwenden.<\/p>\n<p>Die Schwachstelle beruht auf der inkonsistenten Verarbeitung der benutzerdefinierten x-middleware-subrequest-Header durch Next.js. Wenn dieser Header in Anfragen an gesch\u00fctzte Routen enthalten ist, erlaubt Next.js der Anfrage f\u00e4lschlicherweise, die Ausf\u00fchrung der Middleware vollst\u00e4ndig zu umgehen. Der Header veranlasst die Next.js-Laufzeitumgebung, die Phase der Middleware-Auswertung zu \u00fcberspringen, w\u00e4hrend der zugrundeliegende Route-Handler weiterhin verarbeitet wird.<\/p>\n<p>Um diese Schwachstelle auszunutzen, muss ein Angreifer beim Zugriff auf gesch\u00fctzte Ressourcen lediglich den Header x-middleware-subrequest zu seinen HTTP-Anfragen hinzuf\u00fcgen. Beispielsweise wird eine Anfrage an \/api\/admin\/users, die normalerweise durch Autorisierungspr\u00fcfungen der Middleware blockiert w\u00fcrde, bei Vorhandensein dieses Headers normal verarbeitet. Der Server verarbeitet die Anfrage, als w\u00e4re die Middleware bereits ausgef\u00fchrt worden und h\u00e4tte sie genehmigt, wodurch eine vollst\u00e4ndige Umgehung der Sicherheitsmechanismen entsteht. Diese Header-Manipulation l\u00e4sst sich einfach mit Browser-Entwicklertools, curl-Befehlen oder einfachen Skripten umsetzen.<\/p>\n<p>Der anf\u00e4llige Code in der neuesten anf\u00e4lligen Version (v15.2.2) lautet wie folgt:<\/p>\n<p> export const run = withTaggedErrors(async function runWithTaggedErrors(params) {<br \/>\n const runtime = await getRuntimeContext(params)<br \/>\n const subreq = params.request.headers[`x-middleware-subrequest`]        [1]<br \/>\n const subrequests = typeof subreq === &#8217;string&#8216; ? subreq.split(&#8218;:&#8216;) : [] [2]<\/p>\n<p> const MAX_RECURSION_DEPTH = 5<br \/>\n const depth = subrequests.reduce(                                       [3]<br \/>\n  (acc, curr) =&gt; (curr === params.name ? acc + 1 : acc),<br \/>\n  0<br \/>\n )<\/p>\n<p> if (depth &gt;= MAX_RECURSION_DEPTH) {                                     [4]<br \/>\n  return {<br \/>\n     waitUntil: Promise.resolve(),<br \/>\n     response: new runtime.context.Response(null, {<br \/>\n       headers: {<br \/>\n         &#8218;x-middleware-next&#8216;: &#8218;1&#8216;,<br \/>\n       },<br \/>\n     }),<br \/>\n   }<br \/>\n }<br \/>\n\u00a0<\/p>\n<p>Der Header x-middleware-subrequest wird in [1] aus der Anfrage \u00fcbernommen.<br \/>\nAnschlie\u00dfend wird er  mithilfe des Trennzeichens : in [2] aufgeteilt und durch eine Reduce-Funktion gef\u00fchrt, die z\u00e4hlt, wie viele Elemente in diesem Array (subrequests) in [3] mit dem Dateinamen der Middleware \u00fcbereinstimmen.<br \/>\nWenn diese Zahl in [4] gleich oder gr\u00f6\u00dfer als MAX_RECURSION_DEPTH (also 5) ist, umgeht sie die Funktionalit\u00e4t der Middleware und leitet sie an ihre Route weiter.<br \/>\nM\u00f6gliche Werte f\u00fcr Attack-Header<\/p>\n<p>Wie bereits erl\u00e4utert, lautet der Name des anf\u00e4lligen Headers\u00a0 x-middleware-subrequest. Der ihm zugewiesene Wert h\u00e4ngt von Next.js ab, da er entsprechend dem Wert von middlewareInfo.name festgelegt wird, der im Wesentlichen dem Pfad zur Datei middleware.js oder middleware.ts entspricht.<\/p>\n<p>Vor Version 12.2 hie\u00df die Middleware-Datei tats\u00e4chlich _middleware.js\/_middleware.ts und konnte sich auf jeder Ebene des Unterverzeichnisses befinden, auf das man zugreifen m\u00f6chte. In diesem Fall versuchen wir, auf \/admin\/dashboard zuzugreifen, was bedeutet, dass middlewareInfo.name pages\/_middleware\u00a0oder\u00a0pages\/admin\/_middleware h\u00e4tte sein k\u00f6nnen. H\u00e4tten wir\u00a0dashboard\u00a0als Verzeichnis mit einer\u00a0index.js-Datei\u00a0festgelegt,h\u00e4tte es auch\u00a0pages\/admin\/dashboard\/_middleware sein k\u00f6nnen.<\/p>\n<p>Wenn wir beispielsweise mit unserem PoC-Code eine Next.js-Version vor 12.2 verwendet h\u00e4tten, h\u00e4tten wir middleware.js\u00a0in das Verzeichnis pages\u00a0verschieben und in _middleware.js umbenennen m\u00fcssen, und unsere \u201eb\u00f6sartige\u201c HTTP-Anfrage w\u00fcrde lauten:<\/p>\n<p> GET \/admin\/dashboard HTTP\/1.1<br \/>\n x-middleware-subrequest: pages\/_middleware<br \/>\n\u00a0<\/p>\n<p>Seit Version 12.2 und bis Version 13 muss die Middleware-Datei im Stammverzeichnis des Projekts vorhanden sein und muss middleware.js\/middleware.ts hei\u00dfen. Um diese Versionen von Next.js anzugreifen, w\u00fcrde die Payload f\u00fcr den Header also einfach middleware lauten\u00a0\u2013 und wir wissen mit Sicherheit, dass sie sich im Stammverzeichnis befindet.<\/p>\n<p>H\u00e4tten wir eine Next.js-Version zwischen den Versionen 12.2 und 13 verwendet, w\u00fcrde sich unsere \u201eb\u00f6sartige\u201c Anfrage wie folgt \u00e4ndern:<\/p>\n<p> GET \/admin\/dashboard HTTP\/1.1<br \/>\n x-middleware-subrequest: middleware<br \/>\n\u00a0<\/p>\n<p>Ab Version 13 von Next.js wurde die zuvor beschriebene Rekursionspr\u00fcfung implementiert \u2013 das bedeutet, dass ein Angreifer den b\u00f6sartigen Header auf middleware:middleware:middleware:middleware:middleware setzen m\u00fcsste, um 5 Rekursionsebenen zu simulieren.<\/p>\n<p>Da unser PoC auf dieser Version l\u00e4uft, ist dies ein Ausschnitt aus der von uns verwendeten Anfrage:<\/p>\n<p> GET \/admin\/dashboard HTTP\/1.1<br \/>\n x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware<br \/>\n\u00a0<\/p>\n<p>Wichtig ist, dass sich der Middleware-Code in allen Phasen in einem src\u00a0-Verzeichnis h\u00e4tte befinden k\u00f6nnen \u2013 was bedeuten w\u00fcrde, dass zum Ausnutzen src den oben dargestellten Werten vorangestellt werden m\u00fcsste. Wenn wir unseren PoC-Code beispielsweise in einem src\u00a0-Verzeichnis abgelegt h\u00e4tten, h\u00e4tte unsere Payload wie folgt aussehen m\u00fcssen:<\/p>\n<p> GET \/admin\/dashboard HTTP\/1.1<br \/>\n x-middleware-subrequest: src\/middleware:src\/middleware:src\/middleware:src\/middleware:src\/middleware.<br \/>\n\u00a0<\/p>\n<p>Ausnutzung von CVE-2025-29927<br \/>\nWie immer ist es am besten, die vollst\u00e4ndige Ausnutzung der Schwachstelle zu sehen, um zu verstehen, welche Next.js-Instanzen anf\u00e4llig w\u00e4ren.<\/p>\n<p>Wir haben eine eigene PoC-Website mit folgendem Arbeitsbaum eingerichtet:<\/p>\n<p>\u251c\u2500\u2500 middleware.js<br \/>\n\u251c\u2500\u2500 package-lock.json<br \/>\n\u251c\u2500\u2500 package.json<br \/>\n\u2514\u2500\u2500 pages<br \/>\n\u251c\u2500\u2500 admin<br \/>\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 dashboard.js<br \/>\n\u2514\u2500\u2500 index.js<\/p>\n<p>Zun\u00e4chst unsere Anmeldeseite:<\/p>\n<p>Folgendes passiert, wenn ein Benutzer ohne Administratorrechte versucht, sich anzumelden:<\/p>\n<p>Und dies ist das Admin-Dashboard unter\u00a0\/admin\/dashboard mit den richtigen Anmeldedaten:<\/p>\n<p>Kommen wir zum Exploit\u00a0\u2013 versuchen wir zun\u00e4chst, eine GET-Anfrage an\u00a0\/admin\/dashboard ohne den sch\u00e4dlichen Header zu senden:<\/p>\n<p>Wir erhalten eine \u201e401 Unauthorized\u201c-Antwort, da unsere Middleware aktiv wird und erkennt, dass es sich nicht um ein Admin-Konto handelt:<\/p>\n<p>Versuchen wir jedoch dasselbe noch einmal mit dem Header\u00a0x-middleware-subrequest<\/p>\n<p>und wir erhalten eine 200-OK-Antwort!<\/p>\n<p>Mithilfe der Webvorschau k\u00f6nnen wir au\u00dferdem sehen, dass wir das Dokument bereits zuvor erhalten haben:<\/p>\n<p>Behebung von CVE-2025-29927<br \/>\nVersions-Upgrade<br \/>\nDer beste Weg, CVE-2025-29927 zu beheben, ist ein Upgrade Ihrer Next.js-Version auf eine der behobenen Versionen\u00a0\u2013<\/p>\n<p> \t15.2.3<br \/>\n \t14.2.25<\/p>\n<p>Stellen Sie sicher, dass Sie alle potenziell gef\u00e4hrdeten Versionen identifizieren, von 11.1.4 bis einschlie\u00dflich 13.5.6, 14.2.24 sowie 15.2.2, und aktualisieren Sie diese auf die neue, korrigierte Version.<br \/>\nBlockieren des anf\u00e4lligen Headers im Webserver<br \/>\nWenn ein Upgrade keine Option ist, kann die Schwachstelle entsch\u00e4rft werden, indem Sie Ihren Webserver anweisen, den `x-middleware-subrequest` aus eingehenden Anfragen zu entfernen \u2013<\/p>\n<p>F\u00fcgen Sie in Apache die folgende Direktive zu Ihrer .htaccess-Datei hinzu (mod_headers muss installiert und aktiviert sein)\u00a0\u2013<br \/>\n &lt;IfModule mod_headers.c&gt;<br \/>\n   RequestHeader unset x-middleware-subrequest<br \/>\n &lt;\/IfModule&gt;<br \/>\nBearbeiten Sie in NGINX Ihre Datei nginx.conf und f\u00fcgen Sie Ihrem Serverblock die folgende proxy_set_header-Direktive hinzu\u00a0\u2013<\/p>\n<p>\u00a0proxy_set_header x-middleware-subrequest &quot;&quot;;<\/p>\n<p>Beispiel:<br \/>\n server {<br \/>\n\u00a0  listen 80;<br \/>\n\u00a0  server_name your_domain.com;<br \/>\n\u00a0  location \/ {<br \/>\n\u00a0 \u00a0  proxy_set_header x-middleware-subrequest &quot;&quot;;<br \/>\n\u00a0  }<br \/>\n }<br \/>\nF\u00fcgen Sie in Express.js die folgende Direktive zu Ihrem JavaScript-Quellcode hinzu\u00a0\u2013<br \/>\n \/\/ Middleware zum Entfernen des Headers x-middleware-subrequest<br \/>\n app.use((req, res, next) =&gt; {<br \/>\n   delete req.headers[&#8218;x-middleware-subrequest&#8216;];<br \/>\n   next();<br \/>\n });<br \/>\nBlockieren des anf\u00e4lligen Headers mit einer WAF<br \/>\nWenn ein Upgrade keine Option ist, kann die Schwachstelle durch den Einsatz einer Web Application Firewall entsch\u00e4rft werden, die Anfragen blockiert, welche den HTTP-Header x-middleware-subrequest` enthalten.<br \/>\nBehebung von CVE-2025-29927 mit JFrog Xray und JFrog Advanced Security<br \/>\nWie immer kann JFrog Security Essentials (Xray) verwendet werden, um das Vorkommen von Next.js in Ihrer gesamten Codebasis und kompilierten Artefakten zu identifizieren, einschlie\u00dflich Docker-Containern, Repository-Paketen und sogar eigenst\u00e4ndigen Bin\u00e4rdateien.<\/p>\n<p>Zus\u00e4tzlich wurde JFrog Advanced Security um einen Contextual Analysis Scanner erweitert, der automatisch \u00fcberpr\u00fcft, ob Ihre Next.js-Bereitstellung tats\u00e4chlich f\u00fcr CVE-2025-29927 anf\u00e4llig ist, indem er pr\u00fcft, ob eine Next.js-Middleware verwendet wird.<\/p>\n<p>JFrog Plattform: JFrog Contextual Analysis f\u00fcr CVE-2025-29927 von Next.js (Klicken Sie auf das Bild f\u00fcr Vollansicht)<\/p>\n<p>Informieren Sie sich im JFrog Security Research Center \u00fcber die neuesten CVEs, Schwachstellen und Fehlerbehebungen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>CVE-2025-29927 &#8211; Am 21.\u00a0M\u00e4rz\u00a02025 gaben die Maintainer von Next.js eine neue Sicherheitsl\u00fccke bekannt, die eine Umgehung der Autorisierung erm\u00f6glicht\u00a0\u2013 CVE-2025-29927. Diese Sicherheitsl\u00fccke kann leicht ausgenutzt werden, um die Autorisierung zu umgehen. In einigen F\u00e4llen kann die Ausnutzung der Sicherheitsl\u00fccke auch zu Cache Poisoning und einem Denial-of-Service f\u00fchren. Welche Versionen von Next.js sind betroffen? Next.js 15.x\u00a0\u2013 &hellip;<\/p>\n","protected":false},"author":590,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[10515,10157],"tags":[11015,10347,11407,10348,10848],"class_list":["post-174413","post","type-post","status-publish","format-standard","hentry","category-community-de","category-sicherheit-und-devsecops","tag-cve-de","tag-cve-analysis-de","tag-next-js","tag-security-research-de","tag-vulnerabilities-de"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v28.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>So umgeht CVE-2025-29927 die Autorisierung in Next.js<\/title>\n<meta name=\"description\" content=\"Sch\u00fctzen Sie Ihre Anwendungen vor CVE-2025-29927, einem Angriff mit geringer Komplexit\u00e4t, der Authentifizierungsmechanismen in Next.js umgehen und kritische Autorisierungs- und Validierungspr\u00fcfungen \u00fcberspringen kann.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/posts\/174413\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Die CVE-2025-29927-Sicherheitsl\u00fccke zur Umgehung der Autorisierung in Next.js: Alles, was Sie dar\u00fcber wissen m\u00fcssen\" \/>\n<meta property=\"og:description\" content=\"Sch\u00fctzen Sie Ihre Anwendungen vor CVE-2025-29927, einem Angriff mit geringer Komplexit\u00e4t, der Authentifizierungsmechanismen in Next.js umgehen und kritische Autorisierungs- und Validierungspr\u00fcfungen \u00fcberspringen kann.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jfrog.com\/de\/blog\/cve-2025-29927-next-js-authorization-bypass\/\" \/>\n<meta property=\"og:site_name\" content=\"JFrog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/artifrog\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-24T09:31:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-23T06:38:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2025\/03\/23164150\/Next.js_CVE-2025-29927_1200x628.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@jfrog\" \/>\n<meta name=\"twitter:site\" content=\"@jfrog\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"9\u00a0Minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/blog\\\/cve-2025-29927-next-js-authorization-bypass\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/blog\\\/cve-2025-29927-next-js-authorization-bypass\\\/\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"Die CVE-2025-29927-Sicherheitsl\u00fccke zur Umgehung der Autorisierung in Next.js: Alles, was Sie dar\u00fcber wissen m\u00fcssen\",\"datePublished\":\"2025-03-24T09:31:09+00:00\",\"dateModified\":\"2026-09-23T06:38:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/blog\\\/cve-2025-29927-next-js-authorization-bypass\\\/\"},\"wordCount\":1781,\"publisher\":{\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/#organization\"},\"keywords\":[\"cve\",\"cve-analysis\",\"next.js\",\"security-research\",\"vulnerabilities\"],\"articleSection\":[\"Community\",\"Sicherheit und DevSecOps\"],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/blog\\\/cve-2025-29927-next-js-authorization-bypass\\\/\",\"url\":\"https:\\\/\\\/jfrog.com\\\/de\\\/blog\\\/cve-2025-29927-next-js-authorization-bypass\\\/\",\"name\":\"So umgeht CVE-2025-29927 die Autorisierung in Next.js\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/#website\"},\"datePublished\":\"2025-03-24T09:31:09+00:00\",\"dateModified\":\"2026-09-23T06:38:44+00:00\",\"description\":\"Sch\u00fctzen Sie Ihre Anwendungen vor CVE-2025-29927, einem Angriff mit geringer Komplexit\u00e4t, der Authentifizierungsmechanismen in Next.js umgehen und kritische Autorisierungs- und Validierungspr\u00fcfungen \u00fcberspringen kann.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/blog\\\/cve-2025-29927-next-js-authorization-bypass\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jfrog.com\\\/de\\\/blog\\\/cve-2025-29927-next-js-authorization-bypass\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/blog\\\/cve-2025-29927-next-js-authorization-bypass\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jfrog.com\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Die CVE-2025-29927-Sicherheitsl\u00fccke zur Umgehung der Autorisierung in Next.js: Alles, was Sie dar\u00fcber wissen m\u00fcssen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/jfrog.com\\\/de\\\/\",\"name\":\"JFrog\",\"description\":\"Deliver Trusted Software Releases at Speed and Scale\",\"publisher\":{\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jfrog.com\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/#organization\",\"name\":\"JFrog\",\"url\":\"https:\\\/\\\/jfrog.com\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/speedmedia2.jfrog.com\\\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\\\/jfrog.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Logo.svg\",\"contentUrl\":\"https:\\\/\\\/speedmedia2.jfrog.com\\\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\\\/jfrog.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Logo.svg\",\"width\":74,\"height\":73,\"caption\":\"JFrog\"},\"image\":{\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/artifrog\",\"https:\\\/\\\/x.com\\\/jfrog\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/455737\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCh2hNg76zo3d1qQqTWIQxDg\",\"https:\\\/\\\/www.wikidata.org\\\/wiki\\\/Q98608948\"],\"description\":\"We set out on our Liquid Software journey in 2008, with the mission to transform the way enterprises manage and release software updates. The world expects software to update continuously, securely, non-intrusively and without user intervention. This hyper-connected experience can only be enabled by automation with an end-to-end DevOps platform and a binary-centric focus. With this in mind, we\u2019ve developed the JFrog Platform, ushering in a new era of DevOps and DevSecOps standards that power continuous updates. More than a decade after our founding, with thousands of customers and millions of users globally, JFrog has become the \u201cDatabase of DevOps\u201d and the de-facto standard in release and update management.\",\"legalName\":\"Jfrog, Inc.\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"1001\",\"maxValue\":\"5000\"}},{\"@type\":\"Person\",\"@id\":\"\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"So umgeht CVE-2025-29927 die Autorisierung in Next.js","description":"Sch\u00fctzen Sie Ihre Anwendungen vor CVE-2025-29927, einem Angriff mit geringer Komplexit\u00e4t, der Authentifizierungsmechanismen in Next.js umgehen und kritische Autorisierungs- und Validierungspr\u00fcfungen \u00fcberspringen kann.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/posts\/174413","og_locale":"de_DE","og_type":"article","og_title":"Die CVE-2025-29927-Sicherheitsl\u00fccke zur Umgehung der Autorisierung in Next.js: Alles, was Sie dar\u00fcber wissen m\u00fcssen","og_description":"Sch\u00fctzen Sie Ihre Anwendungen vor CVE-2025-29927, einem Angriff mit geringer Komplexit\u00e4t, der Authentifizierungsmechanismen in Next.js umgehen und kritische Autorisierungs- und Validierungspr\u00fcfungen \u00fcberspringen kann.","og_url":"https:\/\/jfrog.com\/de\/blog\/cve-2025-29927-next-js-authorization-bypass\/","og_site_name":"JFrog","article_publisher":"https:\/\/www.facebook.com\/artifrog","article_published_time":"2025-03-24T09:31:09+00:00","article_modified_time":"2026-09-23T06:38:44+00:00","og_image":[{"url":"https:\/\/media.jfrog.com\/wp-content\/uploads\/2025\/03\/23164150\/Next.js_CVE-2025-29927_1200x628.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_creator":"@jfrog","twitter_site":"@jfrog","twitter_misc":{"Verfasst von":"","Gesch\u00e4tzte Lesezeit":"9\u00a0Minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jfrog.com\/de\/blog\/cve-2025-29927-next-js-authorization-bypass\/#article","isPartOf":{"@id":"https:\/\/jfrog.com\/de\/blog\/cve-2025-29927-next-js-authorization-bypass\/"},"author":{"name":"","@id":""},"headline":"Die CVE-2025-29927-Sicherheitsl\u00fccke zur Umgehung der Autorisierung in Next.js: Alles, was Sie dar\u00fcber wissen m\u00fcssen","datePublished":"2025-03-24T09:31:09+00:00","dateModified":"2026-09-23T06:38:44+00:00","mainEntityOfPage":{"@id":"https:\/\/jfrog.com\/de\/blog\/cve-2025-29927-next-js-authorization-bypass\/"},"wordCount":1781,"publisher":{"@id":"https:\/\/jfrog.com\/de\/#organization"},"keywords":["cve","cve-analysis","next.js","security-research","vulnerabilities"],"articleSection":["Community","Sicherheit und DevSecOps"],"inLanguage":"de"},{"@type":"WebPage","@id":"https:\/\/jfrog.com\/de\/blog\/cve-2025-29927-next-js-authorization-bypass\/","url":"https:\/\/jfrog.com\/de\/blog\/cve-2025-29927-next-js-authorization-bypass\/","name":"So umgeht CVE-2025-29927 die Autorisierung in Next.js","isPartOf":{"@id":"https:\/\/jfrog.com\/de\/#website"},"datePublished":"2025-03-24T09:31:09+00:00","dateModified":"2026-09-23T06:38:44+00:00","description":"Sch\u00fctzen Sie Ihre Anwendungen vor CVE-2025-29927, einem Angriff mit geringer Komplexit\u00e4t, der Authentifizierungsmechanismen in Next.js umgehen und kritische Autorisierungs- und Validierungspr\u00fcfungen \u00fcberspringen kann.","breadcrumb":{"@id":"https:\/\/jfrog.com\/de\/blog\/cve-2025-29927-next-js-authorization-bypass\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jfrog.com\/de\/blog\/cve-2025-29927-next-js-authorization-bypass\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jfrog.com\/de\/blog\/cve-2025-29927-next-js-authorization-bypass\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jfrog.com\/de\/"},{"@type":"ListItem","position":2,"name":"Die CVE-2025-29927-Sicherheitsl\u00fccke zur Umgehung der Autorisierung in Next.js: Alles, was Sie dar\u00fcber wissen m\u00fcssen"}]},{"@type":"WebSite","@id":"https:\/\/jfrog.com\/de\/#website","url":"https:\/\/jfrog.com\/de\/","name":"JFrog","description":"Deliver Trusted Software Releases at Speed and Scale","publisher":{"@id":"https:\/\/jfrog.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jfrog.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/jfrog.com\/de\/#organization","name":"JFrog","url":"https:\/\/jfrog.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/jfrog.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/jfrog.com\/wp-content\/uploads\/2025\/05\/Logo.svg","contentUrl":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/jfrog.com\/wp-content\/uploads\/2025\/05\/Logo.svg","width":74,"height":73,"caption":"JFrog"},"image":{"@id":"https:\/\/jfrog.com\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/artifrog","https:\/\/x.com\/jfrog","https:\/\/www.linkedin.com\/company\/455737","https:\/\/www.youtube.com\/channel\/UCh2hNg76zo3d1qQqTWIQxDg","https:\/\/www.wikidata.org\/wiki\/Q98608948"],"description":"We set out on our Liquid Software journey in 2008, with the mission to transform the way enterprises manage and release software updates. The world expects software to update continuously, securely, non-intrusively and without user intervention. This hyper-connected experience can only be enabled by automation with an end-to-end DevOps platform and a binary-centric focus. With this in mind, we\u2019ve developed the JFrog Platform, ushering in a new era of DevOps and DevSecOps standards that power continuous updates. More than a decade after our founding, with thousands of customers and millions of users globally, JFrog has become the \u201cDatabase of DevOps\u201d and the de-facto standard in release and update management.","legalName":"Jfrog, Inc.","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"1001","maxValue":"5000"}},{"@type":"Person","@id":""}]}},"_links":{"self":[{"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/posts\/174413","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/users\/590"}],"replies":[{"embeddable":true,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/comments?post=174413"}],"version-history":[{"count":0,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/posts\/174413\/revisions"}],"wp:attachment":[{"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/media?parent=174413"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/categories?post=174413"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/tags?post=174413"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}