
GNU-InetUtils-telnetd-Authentication-Bypass-Vulnerability
CVE-2026–24061 هي ثغرة حرجة في خدمة telnetd الخاصة بـ GNU InetUtils
CVE ID : CVE-2026–24061
الخطورة : حرجة (CVSS 9.8)
متجه الهجوم : الشبكة
المصادقة المطلوبة : لا شيء
الأثر : اختراق كامل للنظام (وصول جذر)
تنبع الثغرة من معالجة غير صحيحة لمتغير البيئة USER أثناء إعداد جلسة Telnet، حيث يتم تمرير هذه القيمة مباشرة إلى قائمة وسائط /usr/bin/login دون أي تنظيف أو تحقق، ونتيجة لذلك، يمكن لمهاجم عن بُعد التلاعب بهذا الإدخال لحقن خيارات سطر أوامر، مما يتيح تجاوز المصادقة والحصول على root shell فورًا
المقتطف التالي من telnetd/utility_file.c يوضح كيف تم استخدام القيم المقدمة من المستخدم مباشرة دون تحقق:
case 'h':
return xstrdup (remote_hostname);
case 'l':
return xstrdup (local_hostname);
case 'L':
return xstrdup (line);
case 't':
q = strchr (line + 1, '/');
if (q)
q++;
else
q = line;
return xstrdup (q);
case 'T':
return terminaltype ? xstrdup (terminaltype) : NULL;
case 'u':
return user_name ? xstrdup (user_name) : NULL;
case 'U':
return getenv ("USER") ? xstrdup (getenv ("USER")) : xstrdup ("");
المشكلة :
القيم التي يتحكم بها المستخدم USER و terminaltype و line : تُستخدم دون تحقق، وتُنسخ مباشرة إلى البنى الداخلية
بما أن هذه القيم يمكن أن تتأثر بعميل بعيد عبر بروتوكول Telnet، فإن ذلك يشكل نقطة حقن حرجة
مسار الهجوم :
إثبات المفهوم
يوضح إثبات مفهوم بسيط كيفية استغلال الثغرة:
USER='-f root' telnet -a <ipaddr>
telnet -l -'f root' ip_addr
يقوم هذا الأمر بحقن قيمة USER خبيثة أثناء مصافحة Telnet، مما قد يؤدي إلى وصول جذر غير مصرح به على الأنظمة الضعيفة
لقد أكملت مختبرًا يتعلق بـ CVE-2026–24061، حيث استغليت الثغرة باستخدام telnet -l '-f root' 176.16.2.153 لحقن وسائط خبيثة وتحقيق تجاوز المصادقة، وفي النهاية حصلت على وصول على مستوى الجذر للنظام المستهدف

ما يحدث داخليًا :
1 - l : يشير إلى اسم تسجيل الدخول
2 - '-f root': القيمة الممررة كاسم المستخدم، (-f : لا فحص لكلمة المرور - تخطي المصادقة)، (root: المستخدم المستهدف))
3 - الخادم الثغري لا يقوم بأي تنظيف
4 - يفسر -f كـ flag بدلاً من جزء من اسم المستخدم
سمح لي ذلك بحقن وسائط خبيثة، وتجاوز المصادقة، والحصول على وصول على مستوى الجذر للنظام المستهدف
الملخص الفني
تكمن الثغرة في كيفية معالجة telnetd لخيار Telnet NEW_ENVIRON. فهو يسمح للعميل بتعريف متغيرات بيئة يتم تمريرها إلى الثنائي /usr/bin/login في النظام. ولأن telnetd يفشل في تنظيف متغير USER، يمكن للمهاجم حقن العلامة -f (تسجيل الدخول الإجباري)، والتي تطلب من أداة login تخطي التحقق من كلمة المرور ومنح جلسة فورًا للمستخدم المحدد (عادةً root)