
EMQX Dashboard Plugin Malicioso que leva a RCE
Este é um plugin malicioso para o EMQX Dashboard que permite executar comandos remotamente.
O código neste repositório é baseado principalmente em uma das versões mais recentes do repositório EMQX plugin template, licenciado sob Apache 2.0.
Se você quiser experimentar, pode iniciar uma imagem Docker conforme explicado na documentação do 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 .
Após discussões com a equipe de segurança do EMQX em fevereiro e março de 2025, eles confirmaram que isso não é considerado uma vulnerabilidade, mas sim um "recurso", e não têm objeções em tornar este repositório público.
No entanto, a partir da versão 5.8.6 (lançada em 25/3/25), esse recurso será mitigado com a introdução de "um comando CLI para permitir explicitamente o pacote antes de instalar um plugin via API HTTP ou Dashboard, melhorando a segurança e prevenindo instalações não autorizadas" (fonte).
Portanto, em versões anteriores, tendo acesso ao EMQX Dashboard você pode obter RCE, mas em versões posteriores à 5.8.6 você receberá este erro:
