Développement3 juin 2026· via DEV Community

Next.js : faille critique dans OopsSec Store via les chemins de fichiers

Next.js : faille critique dans OopsSec Store via les chemins de fichiers

Image : DEV Community

Les développeurs de Next.js doivent rester vigilants face aux chemins de fichiers non validés. Une faille de type path traversal dans l'API d'OopsSec Store expose des fichiers sensibles, comme le démontre une démonstration claire.

Une API vulnérable aux traversées de répertoires

Le projet OopsSec Store propose une API /api/files qui accepte un paramètre file pour servir des documents depuis un dossier dédié. Problème : le chemin fourni n'est pas sanitisé avant d'être joint au répertoire de base. Un simple ../ suffit pour remonter d'un niveau et accéder à des fichiers hors du dossier prévu, comme flag.txt situé à la racine du projet.

Exploitation : trois étapes pour récupérer le flag

D'abord, un test avec un fichier légitime confirme le bon fonctionnement de l'endpoint. Ensuite, l'ajout d'un ../ dans le paramètre file permet de cibler le fichier sensible. Enfin, la requête suivante renvoie le contenu de flag.txt :

curl "http://localhost:3000/api/files?file=../flag.txt"

Le même mécanisme s'applique aux fichiers système, comme /etc/passwd, tant que le processus Node a les permissions nécessaires.

Le code à corriger : une validation absente

Le gestionnaire de l'API utilise path.join() pour construire le chemin complet, sans vérifier la présence de séquences comme ../. Une sanitisation rigoureuse des entrées, couplée à une restriction des répertoires accessibles, est indispensable pour éviter ce type d'attaque. Les développeurs de Next.js sont invités à auditer leurs endpoints similaires.


Source : DEV Community. Synthèse éditoriale assistée par IA — TechnoExpress.

Lire la source originale sur DEV Community →

← Retour à l'accueil