CVE-2026-33990 è una vulnerabilità di tipo Server-Side Request Forgery in Docker Model Runner, componente che gestisce il download e l’esecuzione di modelli AI direttamente da Docker Desktop. Il CVSS 3.1 è 9.1 CRITICAL. La vulnerabilità era stata resa pubblica su NVD il 1° aprile 2026. La serie Docker Desktop di bitten non l’aveva ancora coperta, e qui colmiamo quella lacuna. Il fix è incluso in Docker Desktop 4.67.0, rilasciata il 30 marzo 2026.
Come funziona la vulnerabilità
Il meccanismo è nel flusso di autenticazione OCI registry che Model Runner usa per fare pull di un modello. Quando il registry risponde con un header WWW-Authenticate che indica l’URL del token endpoint (campo realm), Model Runner segue quell’URL senza validarne lo schema, l’hostname o il range IP.
Un registry OCI malevolo (o un registry legittimo compromesso) può inserire in realm l’indirizzo di un servizio interno alla rete: http://169.254.169.254/ (AWS metadata endpoint), un servizio in ascolto su localhost, o qualsiasi altro target raggiungibile dall’host. Model Runner eseguirà la GET a quell’indirizzo e invierà con la richiesta l’header Authorization che contiene le credenziali del registry. Il risultato è esfiltrazione di credenziali o accesso non autorizzato a servizi interni.
Il vettore è di rete, non richiede autenticazione e non richiede interazione da parte dell’utente (CVSS:3.1/AV:N/AC:L/PR:N/UI:N). La componente interessata è CWE-918, validazione insufficiente degli URL nelle richieste server-side.
Il CVSS 4.0, assegnato da GitHub, è 6.8 MEDIUM con vettore locale, una discrepanza rispetto al 9.1 di CISA-ADP che riflette differenti valutazioni del contesto di deployment, non una contraddizione tecnica. Per ambienti con Model Runner esposto via TCP a localhost, il CVSS 3.1 da rete è la misura più conservativa e appropriata.
Fix e mitigazione
Il fix è in Docker Model Runner 1.1.25, incluso in Docker Desktop 4.67.0 (30 marzo 2026). La versione attuale è la 4.74.0, rilasciata il 19 maggio 2026: chi ha aggiornamenti automatici attivi è già protetto.
Per verificare la versione installata: Docker Desktop > Settings > Software Updates oppure docker version nel terminale. Se la versione riportata è inferiore alla 4.67.0, l’aggiornamento è necessario.
La mitigazione alternativa documentata da Docker è l’attivazione di Enhanced Container Isolation (ECI), che blocca l’accesso dei container a Model Runner indipendentemente dalla versione. ECI è disponibile come impostazione in Docker Desktop e va abilitata da Settings > General > Enhanced container isolation. La vulnerabilità resta però tecnicamente presente sui processi che accedono a Model Runner tramite localhost via TCP, anche con ECI attiva: l’aggiornamento rimane l’unica soluzione definitiva.
Chi usa Docker Model Runner nei propri workflow AI (pull di modelli Llama, Qwen o Mistral direttamente da Desktop, o integrazione tramite l’API compatibile OpenAI introdotta nella 4.72.0) dovrebbe controllare la versione installata e procedere con l’aggiornamento se non è già sulla 4.67.0 o superiore.
Impatto nei workflow di sviluppo
Questa CVE interessa specificamente i team che usano Model Runner per eseguire modelli AI in locale: sviluppatori che testano applicazioni con LLM, pipeline CI con inferenza locale, o stack con l’assistente Gordon AI introdotto in Docker Desktop 4.74.0. In questi contesti, il rischio concreto è che un modello scaricato da un registry non verificato possa usare la vulnerabilità per raggiungere i metadati cloud dell’ambiente di esecuzione o ai servizi interni raggiungibili dall’host.
La superficie di attacco è limitata ai workflow che fanno pull da registry OCI di terze parti: chi usa solo il registry ufficiale Docker Hub ha un rischio ridotto, ma non eliminato se l’account registry è compromesso o se si usano mirror non controllati.
