CVE-2026-26030
InMemoryVectorStore における信頼できないフィルター式は、安全でない属性解決を許可し、__builtins__ / globals の走査を介して任意の Python コード実行につながります。
Mohammed Idrees Banyamer
セキュリティ研究者
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
説明
InMemoryVectorStore に渡される信頼できない / ユーザー制御のフィルター式は安全でない方法で評価され、__builtins__、globals、そして最終的に os モジュールに到達する属性走査が可能になり、任意の Python コード実行につながります。
重要な注意事項
エクスプロイトのデモは別ファイルで提供されています:
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
直ちに semantic-kernel >= 1.39.4 へアップグレードしてください
InMemoryVectorStore を使用するアプリケーションは、以下を行う必要があります:
MIT ライセンス
Copyright © 2026 Mohammed Idrees Banyamer