Use case sources
Source reports and analysis supporting this case are listed below. AITBM interpretation and any indicative scoring are derived from this public evidence.
Linked library records
Independent products or attack paths are assessed separately. A combined report receives no aggregate score.
Original report record: Prompt-to-Shell: Dual RCE Paths in Microsoft Semantic Kernel.
Microsoft found that SessionsPythonPlugin DownloadFileAsync was exposed to model calls and accepted an AI-controlled localFilePath with no path restriction. In a controlled chain, the model created a script inside the isolated session and downloaded it into the host Windows Startup folder; host execution followed on the next sign-in.
ASSESSED SYSTEM
Representative AI agent built with Semantic Kernel .NET before 1.71.0 and exposing SessionsPythonPlugin, including DownloadFileAsync, to model function calling with a host file path.
OUT OF SCOPE
Patched .NET 1.71.0 and later, Python SDK filter eval, unspecified applications, and immediate host execution. The demonstrated Startup payload executes only at the next user sign-in.
Architecture: Agentic / MCP System (decision tree Q2) — Q2 applies to the documented multi-step workflow: the agent invokes ExecuteCode and then DownloadFileAsync to move a generated artifact to a host path. Tier 3: Tier 3 representative developer or internal AI workflow scenario; the original source does not establish every operator tier.
Documented attack or failure path
- An injected prompt directed the agent to create a script in an isolated code session.
- The model invoked the exposed DownloadFileAsync tool with a host Startup path.
- The host wrote the script outside the sandbox; it executed at the next user sign-in.
Observed controls and bounded outcomes
Positive credit is given only where the record directly demonstrates a control operating. Recommended or merely presumed controls receive no positive scoring credit.
- The maintainer fixed this path in the specified patched release; the fix is outside the scored pre-fix representative.
Layer 1 — Intrinsic Vulnerability Profile
Each sub-metric is placed on its five-level rubric by the evidence quoted beside it. Missing applicable evidence remains unknown. The displayed midpoint and interval are scenario values, not inferred control performance.
| Sub-metric | Score | Rubric basis | Evidence |
|---|---|---|---|
| Robustness (Ro) — scenario interval 0.00–1.00 (midpoint 0.50), Tier 3 MVT 0.40 indeterminate | |||
| Fairness (Fa) — scenario interval 0.00–1.00 (midpoint 0.50), Tier 3 MVT 0.45 indeterminate | |||
| Transparency (Tr) — scenario interval 0.00–1.00 (midpoint 0.50), Tier 3 MVT 0.45 indeterminate | |||
| Privacy (Pr) — scenario interval 0.00–1.00 (midpoint 0.50), Tier 3 MVT 0.50 indeterminate | |||
| Containment (Cn) — scenario interval 0.00–0.91 (midpoint 0.46), Tier 3 MVT 0.50 indeterminate | |||
| Cn-1Scope Enforcement | 0.00w 0.09 | The model-controlled tool exceeded its authorized sandbox/file scope and wrote to an arbitrary host path, meeting the 0.00 Cn-1 anchor. | Microsoft demonstrated model-directed DownloadFileAsync writing from an isolated session to a host Startup path with no path validation.source: primary report |
Unknown, not N/A: 25 applicable sub-metrics lack admissible public evidence. The lower, midpoint, and upper scenarios evaluate each at 0.00, 0.50, and 1.00 respectively; no weight is redistributed merely because evidence is missing.
Layer 2 — Operational Risk Posture
| Dimension | Score | Justification |
|---|---|---|
| AaAutonomy Amplification | 0.75w 0.20 | Representative activity level for the documented bounded AI path; deployment-specific autonomy was not measured. |
| AsAttack Surface Exposure | 0.75w 0.25 | Representative exposure of the documented entry path; this is a scenario assumption and not a census of all operators. |
| CpCascade Potential | 1.00w 0.30 | No verified System Dependency Graph or DGC is published, so framework worst-case Cp default applies.GDCP: worst-case default — no verified dependency graph published elevated |
| RfRemediation Feasibility | 0.25w 0.25 | A specific patch or configuration change is documented; repair feasibility is an inferred representative scenario, not measured recovery time. |
Nelevated = 1 (dimensions strictly above 0.75) → CRM = 1.00.
Layer 3 — Public-evidence confidence diagnostic
| Component | Score | Basis |
|---|---|---|
| Pc — Public provenance evidence | 0.25 | Minimal public provenance identifies the affected path but supplies no operator assessment pack, signed configuration inventory, or repeated metric battery. |
| Ec — Public evaluation coverage | 0.03 | coverage 0.04 (1 of 26 applicable sub-metrics) × independence 0.80 × fidelity 0.95. No Full, Standard, or Lite pathway is claimed for a retrospective article. |
| Tf — Public-evidence freshness | 0.15 | Evidence dated 2026-02-06; age 254 days on the workpaper reference date. Components: T_containment 0.15 · T_calendar 0.38 · C_monitor 0.70. Binding term: T_containment. Evidence reference is 2026-10-18, 254 days after earliest substantive public evidence (2026-02-06). C_monitor uses the conservative Tier 3 public-evidence default because usable monitoring-coverage evidence is unavailable; it does not assert no deployment telemetry. No C_event cap is asserted from research or an advisory without a dated victim incident. No generic C_evidence cap is assigned from missing public inputs. Indicative ERS uses normalized ACI = 1.00 for comparison only. |
Public-evidence ACI = (Pc × Ec × Tf)1/3 = 0.10 — diagnostic status: Invalid as assessment-of-record evidence. It describes the evidence available to this case study, not the assurance of the underlying system, and is not inserted into the normalized-assurance scenario ERS.
Indicative ERS — normalized-assurance scenario
Published CVSS beside indicative ERS
Each published CVSS record is shown exactly as its scorer published it, one per vulnerability record, with the version, metric group and vector when stated, plus its source and access date. Records are never combined or inferred from a CVE's existence.
INDICATIVE ERS · NORMALIZED-ASSURANCE SCENARIO
4.1 midpoint, interval 1.2–7.0; Low-Moderate scenario band; ACI fixed at 1.00. The published CVSS records do not enter this calculation.
PUBLISHED CVSS · 1 record
CVE-2026-25592 CVSS 3.1 Base 9.9 Critical
| Published score | 9.9 |
|---|---|
| CVSS version | 3.1 |
| Metric group | Base |
| Severity | Critical |
| Vector | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
| Scored by | Microsoft Semantic Kernel maintainer advisory |
| Source record | https://github.com/microsoft/semantic-kernel/security/advisories/GHSA-2ww3-72rp-wpp4 (accessed 2026-10-18) |
| Affected component | Semantic Kernel .NET SessionsPythonPlugin DownloadFileAsync before 1.71.0 |
| Scope note | The CVE identifies this exact SDK and tool path in the representative pre-fix agent. |
| Source note | The maintainer advisory publishes 9.9. The current raw CVE record lists 10.0 with the same vector; this entry reproduces the advisory without recalculating. |
CVSS describes an individual vulnerability as its scorer published it. Indicative ERS describes the assessed AI deployment under the normalized-assurance scenario, so the two values are not direct equivalents and neither replaces the other.
WHAT THIS CASE TEACHES
Microsoft found that SessionsPythonPlugin DownloadFileAsync was exposed to model calls and accepted an AI-controlled localFilePath with no path restriction. In a controlled chain, the model created a script inside the isolated session and downloaded it into the host Windows Startup folder; host execution followed on the next sign-in.
Sources: Semantic Kernel maintainer advisory — CVE-2026-25592 · Microsoft original researcher technical demonstration (2026-05-07)