CVE-2026-79784 in Vocos
Résumé
par VulDB • 25/08/2026
Vocos instancie une classe dont le nom est fourni par un fichier de configuration sans restreindre les classes pouvant être désignées. La fonction `instantiate_class` dans `vocos/pretrained.py` récupère la valeur `class_path` depuis la configuration, la divise en module et attribut, importe le module via `__import__`, résout l'attribut avec `getattr`, puis appelle le résultat sous forme de `args_class(*args, **kwargs)` où `kwargs` correspond au mappage `init_args` propre à la configuration. Aucune liste blanche ne contraint le chemin pointé (dotted path), ce qui permet à une configuration de désigner n'importe quelle fonctionnalité callable importable et de fournir les arguments avec lesquels elle est appelée. Les méthodes `Vocos.from_hparams` atteignent cette vulnérabilité pour chacune des entrées `feature_extractor`, `backbone` et `head`, tandis que `Vocos.from_pretrained` y accède via un fichier distant : il télécharge le fichier `config.yaml` depuis un dépôt Hugging Face nommé par l'appelant et le transmet directement à `from_hparams`. Le chargement d'un modèle depuis un référentiel non contrôlé par l'utilisateur exécute donc du code choisi par le propriétaire du référentiel lors du processus de chargement. La fonction voisine `torch.load` utilisée pour les poids téléchargés constitue une question distincte et est contrainte sur les versions de PyTorch où `weights_only` a la valeur true par défaut, ce qui laisse cette voie comme étant celle accessible.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.