You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The web backend server for GPT-SoVITS lacks proper user input sanitization in the voice denoiser component, which leads to remote OS command injection vulnerability. This flaw allows attackers to execute arbitrary commands, compromising the system and causing critical security risks.
Due to this vulnerability and the web server's default public exposure, the GPT-SoVITS server is unsuitable for deployment in public production environments until the vulnerability is patched.
Affected Versions
Relased version < 20240821v2
As for today (2024.12.10), all versions of repo code
Details
The vulnerability originates from the open_denoise function in the voice denoiser, in which a shell command is constructed using denoise_inp_dir and denoise_opt_dir variable provisioned from the user input.
An attacker can exploit this command injection vulnerability by crafting malicious inputs. These inputs can be provided via the HTML forms or modified in the HTTP request, as highlighted in the screenshot below:
PoC (Proof of Concept)
An attacker can easily achieve remote command execution (RCE) by inserting a malicous payload into the either of the denoising audio file paths in a voice denoiser operation.
Install and Deploy the GPT-SoVITS following the official instructions with WebUI enabled
Summary
The web backend server for
GPT-SoVITS
lacks proper user input sanitization in the voice denoiser component, which leads to remote OS command injection vulnerability. This flaw allows attackers to execute arbitrary commands, compromising the system and causing critical security risks.Due to this vulnerability and the web server's default public exposure, the
GPT-SoVITS
server is unsuitable for deployment in public production environments until the vulnerability is patched.Affected Versions
Relased version < 20240821v2
As for today (2024.12.10), all versions of repo code
Details
The vulnerability originates from the
open_denoise
function in the voice denoiser, in which a shell command is constructed usingdenoise_inp_dir
anddenoise_opt_dir
variable provisioned from the user input.The tool can be reached in the web UI.
An attacker can exploit this command injection vulnerability by crafting malicious inputs. These inputs can be provided via the HTML forms or modified in the HTTP request, as highlighted in the screenshot below:
PoC (Proof of Concept)
An attacker can easily achieve remote command execution (RCE) by inserting a malicous payload into the either of the denoising audio file paths in a voice denoiser operation.
GPT-SoVITS
following the official instructions with WebUI enabledReplacing cmd value with your desired to trigger an RCE attack:
python SoVITS-voice-denoiser-exp.py -u http://proof-of-concept:9874 -cmd "ping XXX -c 5"
Patch
To fix the vulnerability:
Avoid using
shell=True
inPopen
.The text was updated successfully, but these errors were encountered: