Présentation

Le CVE‑2026‑32746, découvert par l’équipe de recherche DREAM Security, est une vulnérabilité de débordement de tampon de type BSS qui permet d’écraser environ 400 octets de variables adjacentes dans le gestionnaire de négociation LINEMODE SLC du serveur telnetd de GNU inetutils. Le code à l’origine du bug date de 1994, soit plus de trois décennies, ce qui explique son surnom de « bug de 32 ans ». La faille est exploitable avant toute authentification, offrant ainsi un accès à distance complet au système cible.

Fonctionnement de la vulnérabilité

Telnet utilise le byte IAC (0xFF) pour signaler des commandes en‑band. Lors de l’établissement d’une connexion, le serveur peut proposer l’option LINEMODE en envoyant la séquence

0xFF 0xFD 0x22
. Le client répond alors avec DO ou WILL pour activer la fonctionnalité. Le sous‑option SLC (Set Linemode Characters) permet au serveur de définir quels caractères de contrôle représentent des actions telles que le backspace. Le code vulnérable ne valide pas correctement la longueur des données reçues dans ce sous‑option, ce qui conduit à un dépassement de tampon lorsqu’un attaquant injecte plus de 400 octets que prévu.

Portée et implications

Bien que le bug soit limité à GNU inetutils, de nombreuses implémentations de telnetd dérivent de ce code. L’analyse a identifié la présence du CVE‑2026‑32746 dans Ubuntu, Debian, FreeBSD 13/15, NetBSD 10.1, Citrix NetScaler, Apple Mac Tahoe, Haiku, TrueNAS Core, uClinux, libmtev et DragonFlyBSD. Cette large diffusion augmente le risque d’exploitation sur des serveurs de production, notamment sur des équipements embarqués où Telnet reste le seul moyen d’accès (machines CNC, contrôleurs industriels, etc.). L’accès pré‑authentifié signifie qu’un attaquant n’a pas besoin de connaître de crédentiel pour exécuter du code arbitraire, ce qui rend la vulnérabilité particulièrement dangereuse dans des environnements où les mesures de mitigation modernes (ASLR, DEP) sont absentes.

Mitigation et correctifs

Les mainteneurs des distributions concernées ont publié des correctifs qui réécrivent le gestionnaire LINEMODE SLC afin de vérifier la taille des buffers avant copie. La mise à jour du paquet inetutils‑telnetd résout le problème pour les systèmes à jour. Cependant, de nombreux appareils legacy ne reçoivent pas de mises à jour automatiques ; il est donc recommandé de désactiver le service Telnet ou de le remplacer par SSH dès que possible. Dans les scénarios où Telnet ne peut être retiré, le filtrage réseau du port 23 et la surveillance des séquences IAC DO LINEMODE peuvent réduire la surface d’attaque en bloquant les négociations suspectes.