1 Punkte von GN⁺ 2025-03-24 | 1 Kommentare | Auf WhatsApp teilen
  • CVE-2025-29927

  • Next.js Version 15.2.3 wurde veröffentlicht, um eine Sicherheitslücke (CVE-2025-29927) zu beheben. Für alle selbst gehosteten Next.js-Deployments, die next start und output: 'standalone' verwenden, wird ein sofortiges Update empfohlen.

  • Zeitachse

    • 2025-02-27T06:03Z: Über einen privaten Vulnerability Report auf GitHub an das Next.js-Team gemeldet
    • 2025-03-14T17:13Z: Das Next.js-Team beginnt mit der Prüfung des Reports
    • 2025-03-14T19:08Z: Patch für Next.js 15.x bereitgestellt
    • 2025-03-14T19:26Z: Patch für Next.js 14.x bereitgestellt
    • 2025-03-17T22:44Z: Next.js 14.2.25 veröffentlicht
    • 2025-03-18T00:23Z: Next.js 15.2.3 veröffentlicht
    • 2025-03-18T18:03Z: CVE-2025-29927 auf GitHub veröffentlicht
    • 2025-03-21T10:17Z: Sicherheitswarnung veröffentlicht
    • 2025-03-22T21:21Z: Next.js 13.5.9 veröffentlicht
    • 2025-03-23T06:44Z: Next.js 12.3.5 veröffentlicht
  • Details zur Schwachstelle

    • Next.js verwendet den internen Header x-middleware-subrequest, um Endlosschleifen zu verhindern. Dem Sicherheitsbericht zufolge besteht die Möglichkeit, die Middleware-Ausführung zu überspringen und dadurch wichtige Prüfungen zu umgehen.
  • Betroffene Bereiche

    • Betroffen

      • Selbst gehostete Next.js-Anwendungen mit Middleware (next start und output: 'standalone')
      • Wenn für Authentifizierung oder Sicherheitsprüfungen auf Middleware vertraut wird
      • Anwendungen mit Cloudflare können verwaltete WAF-Regeln aktivieren
    • Nicht betroffen

      • Auf Vercel gehostete Anwendungen
      • Auf Netlify gehostete Anwendungen
      • Anwendungen, die als statischer Export bereitgestellt werden (Middleware wird nicht ausgeführt)
  • Gepatchte Versionen

    • Next.js 15.x: Behoben in 15.2.3
    • Next.js 14.x: Behoben in 14.2.25
    • Next.js 13.x: Behoben in 13.5.9
    • Next.js 12.x: Behoben in 12.3.5
    • Falls ein Patch auf eine sichere Version nicht möglich ist, wird empfohlen sicherzustellen, dass externe Benutzeranfragen den Header x-middleware-subrequest nicht enthalten
  • Unsere Verantwortung für Sicherheit

    • Next.js hat seit 2016 16 Sicherheitswarnungen veröffentlicht. GitHub Security Advisories und CVEs sind der Industriestandard, um Nutzer, Anbieter und Unternehmen über Schwachstellen in Software zu informieren. Um Defizite in der Kommunikation mit Partnern zu beheben, wurde eine Partner-Mailingliste eingerichtet. Kontakt über partners@nextjs.org, um aufgenommen zu werden.

1 Kommentare

 
GN⁺ 2025-03-24
Hacker-News-Kommentare
  • Das Middleware-System von Next hat viele Probleme und sollte am besten von Grund auf neu implementiert werden

    • Es gibt keine offizielle Methode, mehrere Middleware-Komponenten als Kette zu verbinden
    • Wichtige Funktionen sind als statische Member umgesetzt, was bei der Nutzung von Third-Party-Middleware Probleme verursachen kann
    • Es gibt zu wenige Möglichkeiten zur Kommunikation zwischen Middleware und Route-Handlern
    • Daten über Header weiterzugeben ist nicht sicher
    • Man muss außerdem auf automatisches Caching verzichten
    • Es ist schwer, den tatsächlichen Hostnamen einer Anfrage zu erhalten
  • Ein weiterer Artikel zu den Sicherheitsproblemen des Middleware-Systems gefunden

    • Die Kommunikation über Header ist von der Validierung von Benutzereingaben getrennt
    • Alle Header von Nutzern zuzulassen kann riskant sein
    • Das Framework muss Unterstützung bieten, um die Probleme im Server-Design zu lösen
  • Informationen zur Sicherheitslücke in Next.js

    • Es gab eine Schwachstelle, bei der der Server durch das Hinzufügen bestimmter Header eine falsche Antwort liefern konnte
    • Für diese Schwachstelle gibt es keine CVE, und es ist nicht klar, welche Versionen betroffen sind
    • Nach der Support-Richtlinie von Next.js werden nur für bestimmte Versionen Patches bereitgestellt
  • Sorge über die Verzögerung bei der Behebung des Sicherheitsproblems in Next.js

    • Erst mehr als zwei Wochen nach der Meldung wurde mit der Behebung des Problems begonnen
    • Möglicherweise wurde die Schwere des Problems nicht angemessen vermittelt
  • Kritik an der Komplexität von Next.js

    • React hat viel Mehrwert geliefert, aber Next fügt nur zusätzliche Komplexität hinzu
    • Dateibasiertes Routing und Server-Side-Rendering sind nur in bestimmten Situationen nützlich
  • Einfache Ausnutzbarkeit der Sicherheitslücke

    • Durch das Hinzufügen bestimmter Header kann die Authentifizierung umgangen werden
  • Problem mit der Verwendung interner Header in Next.js

    • Es gibt interne Header, um rekursive Anfragen zu verhindern
    • Über diese Header besteht möglicherweise die Möglichkeit, wichtige Prüfungen zu umgehen
  • Unsicherheit bei der Entscheidung für Self-Hosting mit Next.js

    • Je mehr man die Kommentare auf HN liest, desto größer wird die Unsicherheit über diese Entscheidung
  • Sorge über die Verzögerung bei der Behebung des Sicherheitsproblems

    • Dass sich die Behebung 13 Tage lang verzögert hat, ist ein großes Problem