
Доказательство концепции эксплуатации для CVE-2026-26030, демонстрирующее удалённое выполнение кода через небезопасные выражения фильтров в InMemoryVectorStore Microsoft Semantic Kernel.
CVE-2026-26030
Непроверенные выражения фильтров в InMemoryVectorStore допускают небезопасное разрешение атрибутов, приводящее к произвольному выполнению Python-кода через обход __builtins__ / globals.
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. Установите уязвимую версию (только для тестирования / исследовательских целей!)
pip install semantic-kernel==1.39.0
# 2. Запустите PoC
python3 exploit.py
Немедленно обновитесь до semantic-kernel >= 1.39.4
Приложения, использующие InMemoryVectorStore, должны:
Лицензия MIT
Copyright © 2026 Mohammed Idrees Banyamer