What happened
Crafted prompt manipulates Semantic Kernel's In-Memory Vector Store search plugin to execute arbitrary Python via eval() after bypassing the AST blocklist
2026-05-07
CriticalPrimaryMicrosoft Security disclosed two Semantic Kernel vulnerabilities (CVE-2026-25592, CVE-2026-26030) where prompt injection turns AI model outputs into host-level remote code execution via unsanitized eval().
What happened
Crafted prompt manipulates Semantic Kernel's In-Memory Vector Store search plugin to execute arbitrary Python via eval() after bypassing the AST blocklist
Why it matters
Host-level code execution with the privileges of the process running the AI agent; scope of exploitation in production environments not publicly confirmed
Missing authorization check
An independent validation layer between AI model tool-call outputs and code execution paths; signed receipts for any framework function that reaches eval() or equivalent dynamic execution
Would PP block it?
PP's authority model ensures that only pre-approved tool calls are executed against named resources. An agent running inside a PP-governed workflow would still be vulnerable to the framework-level RCE, but subsequent lateral movement — touching production resources, triggering deployments, or exfiltrating credentials — would require a signed receipt. The initial RCE requires a framework patch (v1.71.0), not a PP gate.
Incident analysis
2026-05-07
Microsoft Security publishes full disclosure of CVE-2026-25592 and CVE-2026-26030 in Semantic Kernel.
2026-05-07
Patch released in Semantic Kernel v1.71.0; customers advised to upgrade immediately.
2026-05-07
SecurityWeek covers the research; notes the issue extends to any framework that maps AI model outputs to system tools.
Authorization boundary
This incident is categorized as Tool execution / MCP. The relevant Permission Protocol gate is Runtime Gate. The read is conditional: the block only applies where the real action boundary is routed through a gate.
PP can gate the downstream actions an agent is authorized to trigger (file reads, network calls, deployments). It does not currently patch framework-level eval() injection sinks.
Related incidents and controls
Start small
This incident maps to Runtime Gate. Start with the boundary that controls the actual action, then require a signed receipt before execution.