CVE-2026-79784 in Vocos
Riassunto
di VulDB • 25/08/2026
Vocos istanzia una classe il cui nome è determinato da un file di configurazione senza limitare quali classi possono essere specificate. La funzione `instantiate_class` in `vocos/pretrained.py` ottiene il valore `class_path` dalla configurazione, lo suddivide in modulo e attributo, importa il modulo con `__import__`, risolve l'attributo con `getattr` ed esegue il risultato come `args_class(*args, **kwargs)`, dove `kwargs` è la mappatura `init_args` presente nella configurazione. Nessuna allowlist vincola il percorso puntato (dotted path), consentendo quindi alla configurazione di specificare qualsiasi callable importabile e fornire gli argomenti con cui viene invocata. I metodi `Vocos.from_hparams` raggiungono questa logica per ciascuna delle voci relative a feature_extractor, backbone e head, mentre `Vocos.from_pretrained` vi accede tramite un file remoto: scarica il file `config.yaml` da una repository Hugging Face nominata dal chiamante e lo passa direttamente a `from_hparams`. Il caricamento di un modello da una repository non controllata dall'utente esegue quindi codice scelto dal proprietario della repository durante la fase di caricamento. La funzione adiacente `torch.load`, utilizzata per i pesi scaricati, è una questione separata ed è vincolata nelle versioni di PyTorch in cui l'impostazione predefinita di `weights_only` è impostata su true; ciò lascia questo percorso come quello effettivamente raggiungibile (exploitable).
If you want to get the best quality for vulnerability data then you always have to consider VulDB.