基于检索的语音转换 WebUI 中存在多个漏洞

基于检索的语音转换 WebUI 中存在多个漏洞

总结

Retrieval-based-Voice-Conversion-WebUI 容易受到命令行注入的攻击

项目

基于检索的语音转换 WebUI

问题 1:infer-web.py 中的命令注入preprocess_dataset (GHSL-2025-012)

变量 、 和 获取用户输入并将其传递给函数,该函数将它们连接成在服务器上运行的命令。这可能导致任意命令执行。exp_dir1np7trainset_dir4sr2preprocess_dataset

def preprocess_dataset(trainset_dir, exp_dir, sr, n_p):
    sr = sr_dict[sr]
    os.makedirs("%s/logs/%s" % (now_dir, exp_dir), exist_ok=True)
    f = open("%s/logs/%s/preprocess.log" % (now_dir, exp_dir), "w")
    f.close()
    cmd = '"%s" infer/modules/train/preprocess.py "%s" %s %s "%s/logs/%s" %s %.1f' % (
        config.python_cmd,
        trainset_dir,
        sr,
        n_p,
        now_dir,
        exp_dir,
        config.noparallel,
        config.preprocess_per,
    )
冲击

此问题可能会导致任意命令执行。

CWEs
  • CWE-77:命令中使用的特殊元素的不当中和(“命令注入”)

问题 2:infer-web.py 中的命令注入extract_f0_feature (GHSL-2025-013)

变量 ,并获取用户输入并将其传递给函数,函数将它们连接成在服务器上运行的命令。这可能导致任意命令执行。请注意,这些命令在函数中多次运行,并且必须修复所有这些命令以防止命令行注入:exp_dir1np7f0method8extract_f0_featureextract_f0_feature

  • https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/blob/7ef19867780cf703841ebafb565a4e47d1ea86ff/infer-web.py#L276-L278
  • https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/blob/7ef19867780cf703841ebafb565a4e47d1ea86ff/infer-web.py#L307-L309
  • https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/blob/7ef19867780cf703841ebafb565a4e47d1ea86ff/infer-web.py#L330-L332
  • https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/blob/7ef19867780cf703841ebafb565a4e47d1ea86ff/infer-web.py#L373-L375
    def extract_f0_feature(gpus, n_p, f0method, if_f0, exp_dir, version19, gpus_rmvpe):
      gpus = gpus.split("-")
      os.makedirs("%s/logs/%s" % (now_dir, exp_dir), exist_ok=True)
      f = open("%s/logs/%s/extract_f0_feature.log" % (now_dir, exp_dir), "w")
      f.close()
      if if_f0:
          if f0method != "rmvpe_gpu":
              cmd = (
                  '"%s" infer/modules/train/extract/extract_f0_print.py "%s/logs/%s" %s %s'
                  % (
                      config.python_cmd,
                      now_dir,
                      exp_dir,
                      n_p,
                      f0method,
                  )
              )
              logger.info("Execute: " + cmd)
            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值