Safeguard
Vulnerability Analysis•

CVE-2025-43846: Critical Unsafe Deserialization in RVC WebUI

CVE-2025-43846 is a critical unsafe deserialization in RVC WebUI 2.2.231006 and earlier, in show_info. No patch is known, so only load models you trust.

Safeguard Security Team
4 min read

CVE-2025-43846 is a critical (CVSS 9.8) unsafe deserialization flaw in Retrieval-based-Voice-Conversion-WebUI 2.2.231006 and earlier. The show_info function loads a user chosen model file with torch.load, which can lead to remote code execution. The record says no known patch exists, so only load model files you trust.

What's affected

The record lists Retrieval-based-Voice-Conversion-WebUI, a voice changing framework based on VITS, in versions 2.2.231006 and prior. The affected function is show_info in process_ckpt.py, and the variable ckpt_path1 takes user input.

The record says that as of publication no known patches exist. GitHub Security Lab, which found the issues, says it asked the project for a vulnerability contact in January 2025 and was told that the repository was not fully active. It assigned CVEs after its 90 day disclosure period. Check the project's repository for any later commit before you assume it is still unfixed.

The record explains the path. The ckpt_path1 variable takes user input, such as a path to a model, and passes it to the show_info function in process_ckpt.py. That function loads the file with torch.load, which can lead to unsafe deserialization.

How to check if you're exposed

Find out whether you or your team run this project. Search developer machines, notebooks and GPU servers for a checkout of the repository or a container image built from it. Look for the file infer-web.py, which is the web interface entry point named in the record.

If you find a copy, check its commit and version against 2.2.231006 with git log -1 from the checkout directory. Then check what model files it has loaded and where they came from. Models downloaded from public hubs, forums and chat groups are the usual source of untrusted files.

Check firewall rules and cloud security groups for the port the WebUI uses. Review process lists for long running python processes started from the project folder.

What to do now

  1. Search for copies of the project on workstations, servers and in container registries.
  2. Stop the WebUI wherever it is exposed beyond localhost, and bind it to 127.0.0.1 or put authentication in front of it.
  3. Only open model files from sources you trust and can verify, and prefer weight formats that do not rely on pickle.
  4. Check the repository for a newer commit that addresses the advisory, and move to it if one exists.
  5. Run it in a container or virtual machine with no credentials, no cloud tokens and limited network access.
  6. Remove shared secrets and API keys from the environment of the account that runs it.
  7. Consider a maintained alternative if the project stays inactive.

Why it matters

The class is deserialization of untrusted data, CWE-502 (Deserialization of Untrusted Data). The function show_info loads a model file with torch.load, and PyTorch's default loading format is built on Python pickle. Pickle can run code as part of loading, so a model file from an untrusted source can carry code that runs when it is opened.

This is a well known class of risk for model sharing. Model files feel like data, so people download and open them casually. In this project the path comes from the web interface, so anyone who can reach the interface can point the server at a file. The vector shows network access, low complexity, no privileges and no user interaction.

PyTorch documents options that restrict what torch.load will accept, and there are safer file formats for weights. Check the current PyTorch documentation for the options available in your version. The record does not say the flaw is exploited in the wild, and it is not on the CISA Known Exploited Vulnerabilities list.

Try it yourself

Click through it at your own pace, or open it full screen.

Quick check

Is there a patched version?

The record says no known patches exist at publication. Check the project repository for newer commits and treat any copy as untrusted until you do.

Can I make loading models safe?

You can reduce the risk by loading only trusted files and by using safer formats and loader options described in the PyTorch documentation. The project itself has no known patch, so keep the interface private as well.

Sources

Last reviewed: 18 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

We email you a link to confirm, and only then add you to the list. Unsubscribe in one click. Privacy

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.