
Proof-of-concept exploit per CVE-2026-26030, che dimostra l'esecuzione remota di codice tramite espressioni di filtro non sicure in InMemoryVectorStore di Microsoft Semantic Kernel.
CVE-2026-26030
Le espressioni di filtro non attendibili in InMemoryVectorStore consentono una risoluzione non sicura degli attributi che porta all'esecuzione arbitraria di codice Python tramite la traversata di __builtins__ / globals.
Mohammed Idrees Banyamer
Ricercatore di Sicurezza
flowchart TD
A[User-controlled filter string] --> B[Passed to VectorStore query/filter]
B --> C[InMemoryVectorStore evaluates filter expression unsafely]
C --> D[Unsafe attribute resolution via __class__ / __base__ / __subclasses__]
D --> E[Access to __init__.__globals__ containing os and __builtins__]
E --> F[Arbitrary code execution e.g. os.system]
F --> G[Remote Code Execution in application context]
style G fill:#ff6666,stroke:#333,stroke-width:2px
Descrizione
Le espressioni di filtro non attendibili / controllate dall'utente passate a InMemoryVectorStore vengono valutate in modo non sicuro, consentendo una traversata degli attributi che raggiunge __builtins__, globals e infine il modulo os — con conseguente esecuzione arbitraria di codice Python.
Note importanti
La dimostrazione dell'exploit è fornita in un file separato:
exploit.py
# 1. Install vulnerable version (for testing / research purposes only!)
pip install semantic-kernel==1.39.0
# 2. Run the PoC
python3 exploit.py
Aggiornare immediatamente a semantic-kernel >= 1.39.4
Le applicazioni che utilizzano InMemoryVectorStore dovrebbero:
Licenza MIT
Copyright © 2026 Mohammed Idrees Banyamer