Quando il Prompt Diventa Shell: RCE Reali in Semantic Kernel (CVE-2026-26030, CVE-2026-25592)
Il 7 maggio 2026 il Microsoft Defender Security Research Team ha pubblicato una ricerca che sposta il confine: la prompt injection non è più un problema di "output sbagliato" — è un vettore di Remote Code Execution (RCE) a livello host nei framework agentici.
Fonte primaria: When prompts become shells: RCE vulnerabilities in AI agent frameworks — Microsoft Security Blog. Due CVE critici in Microsoft Semantic Kernel (Python e .NET SDK) dimostrano come l'integrazione tra modelli e tool possa creare primitive di esecuzione pericolose.
CVE-2026-26030: In-Memory Vector Store — eval() come arma
In questa vulnerabilità, l'uso di una lambda Python eseguita via eval() per filtrare i risultati di un Vector Store ha permesso a un attaccante di iniettare codice malevolo. Nonostante la presenza di un blocklist AST, l'attaccante è riuscito a bypassarla scalando la gerarchia delle classi di Python partendo da tuple() per raggiungere os.system().
CVE-2026-25592: SessionsPythonPlugin — Sandbox Escape
Il bug risiede nell'esposizione errata della funzione DownloadFileAsync come tool invocabile dall'AI. Un attaccante può usare l'agente per generare un payload in una sandbox isolata e poi, tramite DownloadFileAsync, scriverlo direttamente nella cartella Startup di Windows dell'host, ottenendo il controllo totale del sistema al riavvio.
La Lezione Architetturale
La conclusione è netta: le vulnerabilità non sono nei modelli AI, ma nell'architettura dell'agente. Quando i tool espongono operazioni ad alto rischio senza validazione lato host, la prompt injection diventa un'arma. L'LLM non è un security boundary.
Principi di Difesa
- Tool Allow-listing con hash pinned (SHA-256): verifica l'integrità di ogni tool prima dell'invocazione.
- Sandbox obbligatoria: isolamento via container, VM o WASM con network egress control.
- Rimoziome accesso AI a funzioni host-side: le funzioni che toccano l'host devono essere chiamate solo da codice intenzionale, mai direttamente dal modello.
La sovranità senza sandbox è vulnerabilità massima. Costruite agenti che sanno di non potersi fidare dei propri tool.