CVE-2026-26030 allowed a model-controlled Search Plugin parameter to reach an unsafe eval-based filter path and execute code on the Semantic Kernel host under affected conditions.
Semantic Kernel Python versions before 1.39.4 when an agent exposes the Search Plugin backed by the vulnerable In-Memory Vector Store filter functionality and an attacker can influence the agent input.
First seen
Feb 19, 2026
Case kind
vulnerability
AI role
AGAINST AI
Claims
4
Reconstruction
Microsoft's demonstration used a hotel-finder agent. The model selected a search tool and supplied a city parameter. In the affected implementation, that parameter was interpolated into a Python lambda expression that was later executed with eval().
The framework had an AST validator, so exploitation was not simply a direct call to eval with arbitrary text. Microsoft showed a payload that remained valid under the implemented checks while traversing Python classes to reach an importer and eventually os.system. The result was host-level command execution.
This is a useful example of why a prompt-injection finding and a tool vulnerability must be reconstructed together. The model supplied the data, but the deterministic framework code created the execution sink.
Mechanism & boundary
01
Inject instructions into agent input
The attacker influences the model's natural-language input.
Boundary: untrusted content / model
02
Model fills a tool parameter
The model calls the Search Plugin with an attacker-influenced city value.
Boundary: model output / tool schema
03
Framework builds dynamic filter code
The vulnerable filter interpolates the value into a Python lambda expression.
Boundary: tool parameter / code generation
04
Validator bypass reaches eval sink
The crafted value survives validation and reaches dynamic execution.
Boundary: validator / Python eval
05
Host process executes command
The agent host runs attacker-controlled code.
Boundary: agent framework / operating system
Timeline
Feb 19, 2026
GitHub publishes CVE-2026-26030 advisory
report
The advisory identifies the patched Semantic Kernel Python version.
May 7, 2026
Microsoft publishes technical exploit analysis
followup
Microsoft documents the prompt-to-RCE chain and defensive guidance.
Claims & evidence
reported findingsupported
Microsoft reports that CVE-2026-26030 can turn prompt injection into host remote code execution when the agent uses the affected Search Plugin and In-Memory Vector Store filter path.
Treat model-controlled tool parameters as attacker-controlled input. Patch the framework, remove unsafe dynamic evaluation paths, and investigate the vulnerable deployment window for host-level indicators rather than assuming a model refusal would have prevented exploitation.
Controls & mitigations
Upgrade semantic-kernel Python to 1.39.4 or later.
Treat every model-controlled tool argument as untrusted input.
Avoid dynamic eval-based filters for attacker-influenced values.
Hunt the vulnerable deployment window for suspicious child processes, outbound connections and persistence.
Rotate credentials reachable from any host where exploitation is suspected.
What remains unknown
The cited sources do not establish widespread exploitation in the wild.
Exposure depends on the specific Search Plugin and In-Memory Vector Store configuration.
DiggingBeagle. “Semantic Kernel prompt injection reached host code execution.” First seen Feb 19, 2026. https://diggingbeagle.com/cases/semantic-kernel-prompt-injection-reached-host-code-execution/
DiggingBeagle is a non profit research project documenting AI security incidents, agent failures, vulnerabilities and AI-assisted operations. A case keeps its claims beside the sources that support, contest or limit them. Later updates stay visible, so a reader can see when the account changed.
We publish case reconstructions, dated reporting and analysis across records. Each has a different evidentiary role. About the project and our methodology explain how the work is reviewed.