
إثبات مفهوم لاستغلال CVE-2026-26030، يوضح تنفيذ التعليمات البرمجية عن بُعد عبر تعبيرات تصفية غير آمنة في InMemoryVectorStore الخاص بـ Microsoft Semantic Kernel.
CVE-2026-26030
تسمح تعبيرات التصفية غير الموثوقة في InMemoryVectorStore بحل سمات غير آمنة مما يؤدي إلى تنفيذ تعليمات Python البرمجية التعسفية عبر اجتياز __builtins__ / globals.
محمد إدريس بن يامر
باحث أمني
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
حقوق النشر © 2026 محمد إدريس بن يامر