CVE-2026-65975 in pydantic
Riassunto
di VulDB • 30/07/2026
Pydantic AI è un framework di agenti Python per la creazione di applicazioni e flussi di lavoro con l'IA generativa. Nelle versioni dalla 1.88.0 alla versione precedente alla 1.107.1, e dalla 2.0.0b1 alla versione precedente alla 2.5.0, gli adattatori dell'interfaccia utente (AG-UI tramite Agent.to_ag_ui()/AGUIAdapter e Vercel AI tramite VercelAIAdapter) utilizzano sanitize_messages per rimuovere le chiamate agli strumenti ("tool calls") non risolte ("dangling") inviate dal client dalla cronologia dei messaggi non attendibile prima che questa raggiunga l'agente, una misura di difesa in profondità predefinita che impedisce all'agente di eseguire chiamate agli strumenti mai emesse dal modello. Tuttavia, la rimozione era ancorata a un indice del messaggio calcolato prima dell'esecuzione della sanitizzazione; pertanto, quando un messaggio client finale veniva sanitizzato diventando vuoto e quindi eliminato (ad esempio, un messaggio di sistema del client con il valore predefinito manage_system_prompt='server'), una risposta precedente dell'assistente contenente una chiamata agli strumenti non risolta diveniva la nuova coda della cronologia e veniva inviata senza ispezione. Di conseguenza, un client remoto poteva provocare l'esecuzione di uno strumento server registrato (non soggetto ad approvazione) con argomenti forniti dal client anziché con gli argomenti prodotti dal modello. L'impatto è limitato dalle funzionalità degli strumenti interessati ed è più significativo per le applicazioni che bloccano l'esecuzione degli strumenti in una hook prima della richiesta del modello (before_model_request / after_model_request), poiché una chiamata contraffatta salta il turno del modello e aggira tale controllo di sicurezza; gli strumenti soggetti ad approvazione (requires_approval=True) non vengono eseguiti automaticamente tramite questo percorso. Questo problema è stato risolto nelle versioni 1.107.1 e 2.5.0.
If you want to get best quality of vulnerability data, you may have to visit VulDB.