RVC-Project / RVC-Project/Retrieval-based-Voice-Conversion-WebUI

Security Review : Many critical and High vulns found including a number of RCE

Open
#2,634 4 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
38.4k
Forks
5.3k
PR merge metrics
No merged PRs in 30d

Description

I used Cursor, Sonnet 4 API and a custom workflow that I created to perform a security review this project. I reviewed the results, and as someone that has been doing security reviews for over a decade, they are valid. The project looked promising but I found a slew of critical vulnerabilities. For some, this might not matter, for others I feel they would want to know. For the Devs, this is a chance to fix the problems. I could enter one issue for each finding, but I'm not going to. ALong with the list is a detailed write up on each vulnerability along with files where the issues were found, line numbers and remediation assistance. I also included a coverage list which is file based, with the vulns for each file listed.

Coverage

coverage.md

Details

finding_details.md

NOTE: Some of these are important to remediate, others like lack of authentication or unchecked uploads are less important due to the nature of the app. Some of the pickle ones are concerning, but the industry as a whole has been largly ignoring this one.

Summary:

32 total vulnerabilities found

  • CRITICAL (9.0+): 4 findings
  • HIGH (7.0-8.9): 12 findings
  • MEDIUM (4.0-6.9): 14 findings
  • LOW (< 4.0): 2 findings

Security Findings Summary

Finding Name ID CVSS Score Level Description
Remote Code Execution via eval() RVC-2025-001 9.8 Critical eval() function executes arbitrary Python code from log files
Command Injection via subprocess RVC-2025-002 9.8 Critical shell=True allows arbitrary command execution
Unsafe PyTorch Model Deserialization RVC-2025-003 8.8 High torch.load() without weights_only vulnerable to CVE-2025-32434
Unsafe Pickle Deserialization RVC-2025-004 8.8 High pickle.load() allows arbitrary code execution
Complete Lack of Authentication RVC-2025-005 9.1 Critical Web interface has no authentication, accessible to anyone
Command Injection via os.popen() RVC-2025-006 7.8 High os.popen() command execution without validation
Unrestricted File Upload Size RVC-2025-007 6.5 Medium No max_file_size limits enable DoS attacks
Unrestricted File Upload Types RVC-2025-008 7.3 High File uploads accept any format without validation
Missing Audio File Validation RVC-2025-009 5.3 Medium Audio inputs lack format and safety validation
Path Traversal in File Processing RVC-2025-010 7.5 High Unsafe file path construction allows directory traversal
Missing Security Headers RVC-2025-011 6.1 Medium No security headers protect against XSS, clickjacking, CSRF
Insecure Binary Download and Execution RVC-2025-012 8.3 High Downloads and executes external binaries without signature verification
Untrusted Fallback Download Sources RVC-2025-013 6.8 Medium Uses multiple external sources without cross-validation
Path Traversal in File Processing RVC-2025-014 8.1 High Directory traversal in voice conversion batch processing
Directory Traversal in Batch Processing Interface RVC-2025-015 7.5 High Web interface accepts arbitrary directory paths without validation
PyTorch Denial of Service Vulnerability RVC-2025-016 5.5 Medium PyTorch ctc_loss function vulnerable to DoS attacks (CVE-2025-3730)
Insecure PyTorch Loading Configuration RVC-2025-017 7.5 High Configuration bypasses PyTorch safety mechanisms
Docker Security Misconfigurations RVC-2025-018 6.5 Medium Multiple Docker security issues including running as root
Environment Variable Security Pattern RVC-2025-019 3.1 Low Pattern that could expose secrets if misused
Resource Exhaustion via Unlimited Requests RVC-2025-020 6.5 Medium No rate limiting or concurrent request controls leading to DoS
Insecure Temporary File Handling RVC-2025-021 4.4 Medium Predictable temporary directories without secure random names
Shared Memory Information Disclosure RVC-2025-022 4.1 Medium Shared memory segments without sufficient access controls
Information Disclosure via Stack Traces RVC-2025-023 5.3 Medium Web interface exposes detailed stack traces and system information
Overly Broad Exception Handling RVC-2025-024 3.1 Low Broad exception handlers mask security issues and create unpredictable behavior
Sensitive Information in Log Files RVC-2025-025 4.3 Medium Log files contain sensitive paths, commands, and stack traces
Complete Lack of Security Testing Infrastructure RVC-2025-026 7.4 High No security testing, static analysis, or vulnerability scanning in development lifecycle
Docker Security Misconfigurations RVC-2025-027 6.1 Medium Docker container lacks security hardening: root user, no resource limits, missing security updates
Missing Security Documentation RVC-2025-028 4.3 Medium No SECURITY.md, incident response plan, or security guidelines for contributors
Comprehensive File Upload Security Bypass RVC-2025-029 8.1 High Multiple file upload components lack validation, size limits, or type restrictions
Critical Path Traversal in Directory Input Fields RVC-2025-030 9.1 Critical Directory input fields accept arbitrary paths without validation, enabling system-wide file access
Model Management Path Injection Vulnerabilities RVC-2025-031 8.5 High Model fusion/modification interfaces accept arbitrary file paths without validation
Information Disclosure Through Exception Handling RVC-2025-032 5.3 Medium Exception handling exposes full stack traces to users through web interface

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked coverage.md and finding_details.md attachments; they identify affected files, line numbers, and proposed remediation for the 32 findings. Triage and verify each finding before deciding scope, since this issue bundles critical, high, medium, and low concerns. Done would require confirmed findings to be remediated and validated.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, python, pytorch
Domain
security
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.