SGLang: Grave vulnerabilità RCE (CVE-2026-5760) tramite modelli GGUF

Recentemente è stata identificata una vulnerabilità critica nel framework open-source SGLang, che potrebbe consentire l’esecuzione remota di codice (RCE) su sistemi vulnerabili. Questa falla di sicurezza, etichettata come CVE-2026-5760, possiede un punteggio di gravità di 9.8 su 10, che segnala l’importanza di affrontare tempestivamente tali problemi.

Dettagli sulla vulnerabilità

SGLang è un framework ad alte prestazioni per la gestione di modelli linguistici e multimodali, con una significativa popolarità tra gli sviluppatori. Le statistiche parlano chiaro: il progetto su GitHub ha ricevuto oltre 26.100 stelle e più di 5.500 fork. Secondo il CERT Coordination Center (CERT/CC), la vulnerabilità colpisce l’endpoint di reranking “/v1/rerank”. Gli aggressori possono sfruttare questa vulnerabilità inviando un file modello progettato secondo lo standard GPT-Generated Unified Format (GGUF), per innescare un attacco di esecuzione di codice arbitrario.

La modalità di attacco prevede la creazione di un file GGUF maligno con un parametro tokenizer.chat_template contenente un payload Jinja2, che sfrutta una vulnerabilità di injection a livello server (SSTI). Quando un’ignara vittima carica questo modello all’interno di SGLang e invia una richiesta all’endpoint vulnerabile, il server è costretto a eseguire codice Python arbitrario, esponendo il sistema a potenziali attacchi dannosi.

Meccanismo dell’attacco: Un passo alla volta

Il processo di attacco si svolge in varie fasi:

  1. Un aggressore crea un file modello GGUF con un parametro tokenizer.chat_template maligno che include un payload SSTI.
  2. Questo template identifica una specifica frase di attivazione, utillizzando una logica di attacco per inficiare il codice vulnerabile presente nel file “entrypoints/openai/serving_rerank.py”.
  3. La vittima che scarica e carica il modello su SGLang, ad esempio, da fonti come Hugging Face, non è inizialmente consapevole del rischio.
  4. Quando una richiesta viene inviata all’endpoint “/v1/rerank”, il server SGLang elabora il chat_template e, in assenza di adeguate misure di sicurezza, esegue direttamente il codice contenuto nel payload SSTI.

Questa sequenza mette in evidenza come un semplice file caricato possa trasformarsi in uno strumento per compromettere l’integrità del server, con potenziali effetti devastanti.

Implicazioni per le aziende e gli utenti italiani

Per gli utenti e le aziende italiane che utilizzano SGLang o altri strumenti simili, la notizia di questa vulnerabilità sottolinea l’importanza di una gestione proattiva della sicurezza. L’adozione di framework open-source è in aumento, e con essa anche i rischi associati. Gli sviluppatori e i gestori di sistemi devono rimanere vigili e implementare soluzioni di sicurezza adeguate, come l’uso di ImmutableSandboxedEnvironment in sostituzione di jinja2.Environment() per mitigare questi rischi.

Conclusione

La vulnerabilità CVE-2026-5760 è un chiaro promemoria della necessità di attenzione verso la sicurezza informatica, specialmente in scenari in cui modelli e framework altamente interattivi sono coinvolti. È essenziale che tutti gli attori, dalle piccole imprese alle grandi corporations, adottino misure preventive efficaci e robuste per proteggere i propri dati e sistemi da attacchi malevoli sempre più sofisticati.