È stata scoperta una nuova vulnerabilità, CVE-2025-61984, in OpenSSH. Consente l’esecuzione di codice remoto (RCE) manipolando il parametro ProxyCommand e la gestione dei caratteri della shell.
Lo sfruttamento è possibile anche con protezioni contro i metacaratteri standard della shell, a causa dell’uso di caratteri di controllo ed errori di sintassi che non interrompono l’esecuzione dei comandi in alcune shell.
OpenSSH fornisce il meccanismo ProxyCommand per la connessione tramite un proxy intermedio. In genere, viene utilizzato in questo modo: ProxyCommand /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p . Tuttavia, nella configurazione di ~/.ssh/config, se viene specificato %r, il nome utente potrebbe contenere caratteri di controllo.
Sebbene la maggior parte dei caratteri pericolosi siano filtrati, come ;, |, (, ), &, in precedenza non filtrati erano “\n” (nuova riga), $, [ e altri, che in alcune shell possono modificare il comportamento del comando. Questo comportamento consente a un aggressore di costruire un valore di nome utente falso contenente un comando dannoso dopo l’errore sulla prima riga.
Se un repository Git contiene un sottomodulo dannoso con un URL del tipo url = “$[+]nsource poc.sh [email protected] :foo”, e l’utente ha la seguente riga in ~/.ssh/config: ProxyCommand some-command %r@%h:%p, la clonazione con git clone –-recursive eseguirà la seconda riga (source poc.sh) se la shell utilizzata è Bash, Fish o csh. Ciò è possibile perché l’errore di sintassi $[+] causa un’interruzione di riga. Zsh, a differenza di altre shell, interrompe automaticamente tali errori.
Teleport è uno degli strumenti interessati, che genera un ProxyCommand con %r nella configurazione tsh. Questo consente a un aggressore che conosce il nome del cluster di avviare un attacco tramite sottomoduli git.
La patch OpenSSH abilita il filtraggio rigoroso dei caratteri di controllo nella funzione valid_ruser(): if (iscntrl((u_char)s[i])) return 0;. Si consiglia inoltre: aggiornare a OpenSSH 10.1; modificare ProxyCommand per utilizzare gli apici singoli: ‘%r’ per evitare interpretazioni; disabilitare SSH nei sottomoduli: git config –global protocol.ssh.allow user; disabilitare i gestori URL per ssh:// se consentono i caratteri di controllo; passare a shell con un comportamento più rigoroso (ad esempio Zsh).
Sebbene l’attacco richieda una configurazione specifica , è un ulteriore esempio della complessità e dell’imprevedibilità delle interazioni tra git, SSH e gli interpreti shell. Anche senza uno sfruttamento diretto, tali vulnerabilità dimostrano l’importanza di una gestione rigorosa dell’input utente negli strumenti da riga di comando e di automazione.
Ti è piaciuto questo articolo? Ne stiamo discutendo nella nostra Community su LinkedIn, Facebook e Instagram. Seguici anche su Google News, per ricevere aggiornamenti quotidiani sulla sicurezza informatica o Scrivici se desideri segnalarci notizie, approfondimenti o contributi da pubblicare.

CybercrimeLe autorità tedesche hanno recentemente lanciato un avviso riguardante una sofisticata campagna di phishing che prende di mira gli utenti di Signal in Germania e nel resto d’Europa. L’attacco si concentra su profili specifici, tra…
InnovazioneL’evoluzione dell’Intelligenza Artificiale ha superato una nuova, inquietante frontiera. Se fino a ieri parlavamo di algoritmi confinati dietro uno schermo, oggi ci troviamo di fronte al concetto di “Meatspace Layer”: un’infrastruttura dove le macchine non…
CybercrimeNegli ultimi anni, la sicurezza delle reti ha affrontato minacce sempre più sofisticate, capaci di aggirare le difese tradizionali e di penetrare negli strati più profondi delle infrastrutture. Un’analisi recente ha portato alla luce uno…
VulnerabilitàNegli ultimi tempi, la piattaforma di automazione n8n sta affrontando una serie crescente di bug di sicurezza. n8n è una piattaforma di automazione che trasforma task complessi in operazioni semplici e veloci. Con pochi click…
InnovazioneArticolo scritto con la collaborazione di Giovanni Pollola. Per anni, “IA a bordo dei satelliti” serviva soprattutto a “ripulire” i dati: meno rumore nelle immagini e nei dati acquisiti attraverso i vari payload multisensoriali, meno…