Una vulnerabilità, ora corretta, è stata scoperta in Ollama, un popolare progetto open source per l’esecuzione di modelli linguistici di grandi dimensioni (LLM). Secondo i ricercatori che hanno individuato la falla, questa potrebbe portare all’esecuzione di codice remoto, e ci sarebbero oltre 1.000 istanze vulnerabili ancora esposte su internet.

La vulnerabilità, denominata Probllama e catalogata come CVE-2024-37032, è stata resa pubblica il 5 maggio e corretta il giorno successivo nella versione 0.1.34. Ollama è uno strumento utile per effettuare inferenze con reti neurali compatibili e può essere utilizzato tramite riga di comando o API REST. Il problema di sicurezza deriva da una validazione insufficiente sul lato server dell’API REST fornita da Ollama.

vulnerabilità ollama

Un malintenzionato potrebbe sfruttare la falla inviando una richiesta HTTP appositamente costruita al server API di Ollama. Nelle installazioni Docker, il server API è esposto pubblicamente per impostazione predefinita. I ricercatori hanno scoperto che durante il download di un modello da un registro privato, era possibile fornire un file manifest malevolo contenente un payload di path traversal nel campo digest. Questo potrebbe portare alla corruzione di file sul sistema, alla lettura arbitraria di file e, in ultima analisi, all’esecuzione di codice remoto.

Nonostante una versione corretta del progetto sia disponibile da oltre un mese, al 10 giugno erano ancora esposte su internet più di 1.000 istanze vulnerabili del server Ollama. Gli esperti consigliano di aggiornare il prima possibile le istanze alla versione 0.1.34 o successiva e di non esporre le installazioni a internet senza utilizzare un sistema di autenticazione.

Idealmente, si dovrebbe impedire completamente l’accesso al server da internet, posizionandolo dietro firewall e consentendo l’accesso solo ad applicazioni interne autorizzate. I ricercatori sottolineano che il problema critico non sono solo le vulnerabilità in sé, ma la mancanza intrinseca di supporto all’autenticazione in questi nuovi strumenti. Inoltre, anche se questi strumenti sono recenti e spesso scritti in linguaggi di programmazione moderni orientati alla sicurezza, vulnerabilità classiche come il path traversal continuano a rimanere un problema.