Vulnerabilità in GNU Inetutils telnetd e rischi strutturali del protocollo Telnet (BL01/260318/CSIRT-ITA)
Data:
18 Marzo 2026
Impatto Sistemico
Critico (81.79)
Sintesi
Disponibile un Proof of Concept ( PoC ) per la vulnerabilità CVE-2026-32746, di gravità “critica”, che interessa il demone telnetd appartenente alla suite di utility di rete GNU Inetutils. Tale vulnerabilità, qualora sfruttata, potrebbe consentire a un utente malintenzionato remoto non autenticato di eseguire codice arbitrario sui sistemi target.
Tipologia
Remote Code Execution
Descrizione e potenziali impatti
Disponibile un Proof of Concept ( PoC ) per la CVE‑2026‑32746 – di tipo “Remote Pre-Auth Buffer Overflow” e con score CVSS v3.x pari a 9.8 – che riguarda il demone telnetd , presente nella suite di utility di rete GNU Inetutils.
La vulnerabilità è dovuta all’assenza di adeguati controlli sui limiti del buffer nella funzione add_slc() , che gestisce le opzioni LINEMODE SLC (Set Local Characters) . In presenza di un numero eccessivo di entry SLC, la funzione può scrivere dati oltre i limiti del buffer ( out‑of‑bounds write), causando la corruzione della memoria.
Nel dettaglio, un utente malintenzionato potrebbe sfruttare la vulnerabilità come segue:
- connettendosi alla porta 23 ed effettuando l’handshake iniziale;
- nel momento in cui il server invia DO LINEMODE , rispondendo WILL LINEMODE per entrare nella negoziazione LINEMODE ;
- inviando una subnegotiation LINEMODE SLC contenente un numero elevato di triple SLC (tipicamente 40–50 per garantire l’overflow, ciascuna composta da 3 byte: funzione, flag, valore), nel formato: IAC SB LINEMODE LM_SLC <serie di triple SLC> IAC SE ;
Per ogni tripla ricevuta, il server invoca add_slc() la quale, non verificando opportunamente la capacità del buffer, effettua scritture oltre i limiti corrompendo la memoria adiacente allo stesso. Di conseguenza, mediante richieste opportunamente predisposte, l’attaccante potrebbe ottenere l’esecuzione di codice nel contesto del processo telnetd – tipicamente eseguito con privilegi elevati (root).
Prodotti e versioni affette
telnetd, versione 2.7 e precedenti che implementano la funzionalità SLC
Azioni di mitigazione
La vulnerabilità è solo l’ultima di una serie di criticità che riguardano il protocollo telnet, tra cui anche la recente CVE-2026-24061, trattata nell’ambito dell’ AL01/260126/CSIRT-ITA .
Come già sottolineato da questo CSIRT nel BL01/250626/CSIRT-ITA , il protocollo TELNET è considerato obsoleto – quindi insicuro – poiché non prevede alcuna forma di crittografia, soprattutto durante la fase di autenticazione: le credenziali e i dati trasmessi viaggiano in chiaro durante la comunicazione e sono pertanto facilmente intercettabili.
Inoltre, a causa della nota obsolescenza del protocollo, le implementazioni come GNU Inetutils telnetd hanno cicli di manutenzione non tempestivi, e vengono mantenute solo per compatibilità dei sistemi legacy.
Si raccomanda, pertanto, di disabilitare eventuali servizi telnet ancora in uso, e sostituirli con varianti più sicure.
La soluzione SSH è considerata una alternativa valida, avendo cura di disabilitarne la semplice autenticazione via password e il login diretto come utente root, e utilizzando esclusivamente metodologie di autenticazione a chiave forte (ed25519 o RSA ≥ 3072 bit).
Per quanto detto, si riportano di seguito alcune linee guida per la verifica, la disabilitazione e la disinstallazione del servizio telnet:
- Verificare la presenza di telnetd con il comando
which telnetd;
- Verificare l’esposizione del servizio telnet con il comando
ss -tlnp | grep :23;
- Disabilitare telnet:
- sistemi basati su systemd:
sudo systemctl stop telnet.socket telnet.servicesudo systemctl disable telnet.socket telnet.servicesudo systemctl mask telnet.socket telnet.servicesudo systemctl stop inetdsudo systemctl stop xinetdsudo systemctl disable inetdsudo systemctl disable xinetd - sistemi basati su init.d:
/etc/init.d/inetd stop/etc/init.d/xinetd stop
- sistemi basati su systemd:
- Rimozione del pacchetto:
- Debian/Ubuntu:
sudo apt remove telnetd inetutils-telnetd;
- RHEL/CENTOS/Fedora:
sudo dnf remove inetutils-telnetd telnet-server;
- Bonifica delle regole firewall:
- Debian/Ubuntu:
sudo ufw delete allow 23/tcpsudo ufw reload - RHEL/CENTOS/Fedora:
sudo firewall-cmd --permanent --remove-service=telnetsudo firewall-cmd --permanent --remove-port=23/tcpsudo firewall-cmd --reload - Iptables:
sudo iptables -D INPUT -p tcp --dport 23 -j ACCEPT
- Debian/Ubuntu:
Riferimenti
- https://lists.gnu.org/archive/html/bug-inetutils/2026-03/msg00031.html
- https://www.gnu.org/software/inetutils/
CVE
| CVE-ID |
|---|
| CVE-2026-32746 |
Change log
| Versione | Note | Data |
|---|---|---|
| 1.0 | Pubblicato il 18-03-2026 | 18/03/2026 |
Il presente articolo è un prodotto originale di csirt.gov.it, riproposto qui a solo scopo di aumentarne la visibilità. Può essere visualizzato in versione originale al seguente link
Ultimo aggiornamento
18 Marzo 2026, 15:21
CSIRT Toscana