UNKNOWNCVE-2026-34603

Les points de terminaison Media de @tinacms/graphql peuvent s'échapper de la racine Media via des liens symboliques ou des jonctions

Plateforme

nodejs

Composant

@tinacms/graphql

## Résumé `@tinacms/cli` a récemment ajouté des vérifications lexicales de traversée de chemin aux routes média de développement, mais l'implémentation ne valide toujours que la chaîne de chemin et ne résout pas les cibles des liens symboliques ou des jonctions. Si un lien existe déjà sous la racine média, Tina accepte un chemin comme `pivot/written-from-media.txt` comme étant « à l'intérieur » du répertoire média et effectue ensuite de véritables opérations sur le système de fichiers via cette cible de lien. Cela permet de lister les médias hors de la racine et d'y accéder en écriture, et la même cause fondamentale affecte également la suppression. ## Détails Les gestionnaires de médias de développement valident les chemins contrôlés par l'utilisateur avec : ```ts function resolveWithinBase(userPath: string, baseDir: string): string { const resolvedBase = path.resolve(baseDir); const resolved = path.resolve(path.join(baseDir, userPath)); if (resolved === resolvedBase) { return resolvedBase; } if (resolved.startsWith(resolvedBase + path.sep)) { return resolved; } throw new PathTraversalError(userPath); } function resolveStrictlyWithinBase(userPath: string, baseDir: string): string { const resolvedBase = path.resolve(baseDir) + path.sep; const resolved = path.resolve(path.join(baseDir, userPath)); if (!resolved.startsWith(resolvedB

Comment corriger

Aucun correctif officiel disponible. Recherchez des alternatives ou surveillez les mises à jour.

Surveillez vos dépendances automatiquement

Recevez des alertes quand de nouvelles vulnérabilités affectent vos projets.

Commencer gratuitement