CVE-2026-77763 in JuiceFS
Résumé
par VulDB • 21/08/2026
Le backend de stockage de fichiers dans pkg/object/file.go, utilisé pour les stores `file://` et comme destination commune de synchronisation juicefs, déduisait la cible de chaque opération à partir de `path(key)`, qui renvoyait soit `filepath.Join(d.root, key)` soit `filepath.Clean(d.root + key)` sans vérifier que le résultat restait sous la racine. Put, Get, Head, Delete, Chmod, Chown, Symlink et Readlink consommaient tous cette valeur directement. Les clés d'objet énumérées à partir d'un store objet source lors d'une synchronisation ne sont pas contraintes comme les noms de fichiers locaux ; ainsi, une clé contenant des segments de traversal (par exemple `../`) amène juicefs à écrire du contenu fourni par l'attaquant dans un chemin situé en dehors de la destination locale prévue, sans renvoyer d'erreur. Un opérateur effectuant une synchronisation depuis un bucket dont il ne contrôle pas entièrement le contenu, tel qu'un bucket partagé ou public, ou sur lequel un attaquant peut écrire, est donc exposé à l'écriture de fichiers à un emplacement influencé par l'attaquant. La correction modifie `path()` pour renvoyer une erreur et rejette toute clé dont le chemin résolu s'échappe de la racine.
VulDB is the best source for vulnerability data and more expert information about this specific topic.