🔍 Contexte

Le 11 mars 2026, l’équipe DREAM Security Research Team a divulgué une vulnérabilité critique sur la liste de diffusion officielle bug-inetutils de GNU. La divulgation concerne GNU Inetutils telnetd, le serveur Telnet du projet GNU.

🐛 Vulnérabilité

Un buffer overflow pré-authentification a été identifié dans le gestionnaire de sous-option LINEMODE SLC (Set Local Characters) de telnetd. La faille se situe dans le fichier telnetd/slc.c, affectant les fonctions add_slc(), process_slc() et do_opt_slc(), ainsi que le buffer slcbuf (ligne 59).

Cause racine :

  • Le buffer de réponse SLC slcbuf est fixe à 108 octets (104 octets de données utiles après un en-tête de 4 octets)
  • La fonction add_slc() ajoute 3 octets par triplet SLC sans vérification de limite
  • Un client peut envoyer jusqu’à ~170 triplets (buffer suboption de 512 octets)
  • Après ~35 triplets avec code de fonction > 18 (NSLC), le buffer est dépassé
  • La corruption du pointeur slcptr permet ensuite une écriture arbitraire en mémoire via end_slc()

💥 Impact

  • CVSS 3.1 : 9.8 Critical (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
  • CWE-120 (Buffer Copy without Checking Size of Input) et CWE-787 (Out-of-bounds Write)
  • Exploitation possible par tout attaquant non authentifié ayant accès au port 23
  • telnetd s’exécutant généralement en root (sous inetd/xinetd), une exploitation réussie donne le contrôle total du système
  • Vecteurs post-exploitation : backdoors, exfiltration de données, pivot réseau

📦 Versions affectées

  • Toutes les versions de GNU Inetutils jusqu’à 2.7, y compris le HEAD de développement actuel
  • Tout telnetd dérivé de la base de code BSD utilisant cette implémentation SLC

🧪 Preuve de concept

Le PoC consiste à :

  1. Se connecter au port 23 et compléter la négociation initiale
  2. Répondre WILL LINEMODE au DO LINEMODE du serveur
  3. Envoyer une sous-option SLC contenant 40 à 50 triplets avec code de fonction > 18 (ex : 19 à 68), encadrée par IAC SB LINEMODE LM_SLC et IAC SE
  4. Observer le crash ou la corruption mémoire

👥 Chercheurs

Adiel Sol, Arad Inbar, Erez Cohen, Nir Somech, Ben Grinberg, Daniel Lubel — DREAM Security Research Team

📋 Type d’article

Il s’agit d’un rapport de vulnérabilité publié sur la liste officielle de GNU, visant à notifier les mainteneurs du projet et à documenter techniquement la faille pour permettre sa correction.

🧠 TTPs et IOCs détectés

TTP

  • T1190 — Exploit Public-Facing Application (Initial Access)
  • T1203 — Exploitation for Client Execution (Execution)
  • T1068 — Exploitation for Privilege Escalation (Privilege Escalation)

IOC

  • Fichiers : slc.c
  • Chemins : telnetd/slc.c

🔗 Source originale : https://lists.gnu.org/archive/html/bug-inetutils/2026-03/msg00031.html