CVE-2026-79784 in Vocos
要約
〜によって VulDB • 2026年08月25日
Vocos は、構成ファイルによって指定されたクラスをインスタンス化しますが、どのクラスの指定が許可されるかについては制限を設けていません。vocos/pretrained.py 内の instantiate_class 関数は、構成から class_path の値を取得し、それをモジュールと属性に分割します。その後、__import__ を用いてモジュールをインポートし、getattr で属性を解決して、kwargs が構成の init_args マッピングである args_class(*args, **kwargs) として結果を呼び出します。ドット区切りパスに対するホワイトリストが存在しないため、構成ファイルは任意のエクスポート可能な callable(呼出し可能オブジェクト)を指定でき、その呼び出し時に渡される引数を供給することができます。Vocos.from_hparams は feature_extractor、backbone、head の各エントリに対してこれを実行し、Vocos.from_pretrained はリモートファイルを通じてこの処理に到達します:これは、呼び出し元が名付けた Hugging Face リポジトリから config.yaml をダウンロードし、それを直接 from_hparams に渡す動作を行います。したがって、ユーザーが制御しないリポジトリからモデルを読み込むと、読み込みプロセス中にリポジトリの所有者が選択したコードが実行されます。ダウンロードされた重みに対する torch.load の処理は別の問題であり、PyTorch のリリースにおいて weights_only がデフォルトで true に設定されている場合などに制限されていますが、これにより本脆弱性経路が到達可能な状態となります。
If you want to get the best quality for vulnerability data then you always have to consider VulDB.