
EMQX-Dashboard bösartiges Plugin, das zu RCE führt
Dies ist ein bösartiges Plugin für das EMQX Dashboard, das die Remote-Ausführung von Befehlen ermöglicht.
Der Code in diesem Repository basiert größtenteils auf einer der neuesten Versionen des EMQX-Plugin-Template-Repositories, das unter Apache 2.0 lizenziert ist.
Wenn du dies ausprobieren möchtest, kannst du ein Docker-Image starten, wie in der EMQX-Dokumentation beschrieben.
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 .
Nach Gesprächen mit dem EMQX-Sicherheitsteam im Februar und März 2025 bestätigten sie, dass dies nicht als Schwachstelle, sondern vielmehr als „Feature" betrachtet wird, und sie haben keine Einwände dagegen, dieses Repository öffentlich zu machen.
Ab Version 5.8.6 (veröffentlicht am 25.3.25) wird dieses Feature jedoch entschärft, indem „ein CLI-Befehl eingeführt wird, der das Paket explizit zulässt, bevor ein Plugin über die HTTP-API oder das Dashboard installiert wird, was die Sicherheit verbessert und unbefugte Installationen verhindert" (Quelle).
Daher kannst du in früheren Versionen mit Zugriff auf das EMQX Dashboard RCE erreichen, aber in Versionen nach 5.8.6 erhältst du diesen Fehler:
