Plattform
nodejs
Komponente
@fastify/static
Behoben in
9.1.1
9.1.1
CVE-2026-6414 affects versions 8.0.0 through 9.1.1 of the @fastify/static Node.js package. This vulnerability allows attackers to bypass route-based middleware and access protected files by exploiting a mismatch in how path separators are handled. The vulnerability was published on 2026-04-16, and a patch is available in version 9.1.1.
CVE-2026-6414 in @fastify/static (versions 9.1.0 und früher) ermöglicht es, routenbasierte Zugriffskontrollen zu umgehen. Das Problem besteht darin, dass @fastify/static prozentcodierte Pfadtrennzeichen (%2F) vor der Dateisystemauflösung decodiert, während der Fastify-Router sie als literale Zeichen behandelt. Dies führt zu einer Inkonsistenz: Routenwächter wie /admin/* stimmen nicht mit /admin%2Fsecret.html überein, aber @fastify/static decodiert es zu /admin/secret.html und dient die Datei. Anwendungen, die sich auf routenbasierte Middleware oder Wächter verlassen, um Dateien zu schützen, die von @fastify/static bereitgestellt werden, können durch diesen codierten Pfad umgangen werden.
Ein Angreifer könnte diese Schwachstelle ausnutzen, indem er URLs mit prozentcodierten Pfadtrennzeichen erstellt. Wenn beispielsweise eine Anwendung eine geschützte Route /admin/ hat, könnte ein Angreifer versuchen, auf /admin%2Fsecret.html zuzugreifen. Aufgrund der vorzeitigen Decodierung von @fastify/static würde die Datei secret.html innerhalb des Verzeichnisses admin bereitgestellt, auch wenn die Route /admin/ durch Middleware oder Wächter geschützt ist. Diese Technik ermöglicht es, routenbasierte Schutze zu umgehen, wodurch potenziell sensible Informationen offengelegt oder unbefugter Zugriff auf geschützte Ressourcen gewährt wird.
Applications built with Node.js that utilize @fastify/static for serving static files and rely on route-based middleware or guards to protect those files are at risk. This includes applications with custom route guards or those leveraging Fastify's built-in middleware for access control. Shared hosting environments where multiple applications share the same server and file system are particularly vulnerable.
• nodejs / server:
npm list @fastify/static• nodejs / server:
npm audit @fastify/static• nodejs / server: Check application logs for requests containing percent-encoded path separators (e.g., %2F) accessing files within protected directories.
disclosure
Exploit-Status
EPSS
0.01% (3% Perzentil)
CISA SSVC
CVSS-Vektor
Die Lösung besteht darin, auf Version 9.1.1 oder höher von @fastify/static zu aktualisieren. Diese Version behebt die Schwachstelle, indem sie prozentcodierte Pfadtrennzeichen konsistent im Einklang mit dem Fastify-Router verarbeitet. Als vorübergehende Maßnahme sollten Sie vorübergehend zusätzliche Zugriffskontrollen auf Anwendungsebene implementieren, um den Zugriff auf sensible Dateien zu validieren und einzuschränken, auch wenn die Route durch den Router geschützt erscheint. Überprüfen Sie die Routenkonfigurationen und -schutze sorgfältig, um sicherzustellen, dass sie robust sind und nicht ausschließlich auf das Standardverhalten von @fastify/static angewiesen sind.
Actualice a la versión 9.1.1 de @fastify/static para solucionar la vulnerabilidad. Esta versión corrige el problema al manejar correctamente los separadores de ruta codificados, evitando el bypass de las protecciones de ruta. No existen soluciones alternativas.
Schwachstellenanalysen und kritische Warnungen direkt in deinen Posteingang.
Alle Versionen vor 9.1.1 sind anfällig für CVE-2026-6414.
Verwenden Sie den Befehl npm list @fastify/static oder yarn list @fastify/static, um die installierte Version zu überprüfen.
Implementieren Sie zusätzliche Zugriffskontrollen auf Anwendungsebene, um den Zugriff auf sensible Dateien zu validieren und einzuschränken.
Dateien, die sich in Verzeichnissen befinden, die durch Routen geschützt sind, und die möglicherweise sensible Informationen enthalten oder unbefugte Aktionen ermöglichen.
Sie betrifft nur Anwendungen, die sich auf Routen-Schutz verlassen, um Dateien zu schützen, die von @fastify/static bereitgestellt werden.
Lade deine Abhängigkeitsdatei hoch und erfahre sofort, ob dich diese und andere CVEs treffen.