Public case (sourced). Based on the paper "EchoLeak: The First Real-World Zero-Click Prompt Injection Exploit in a Production LLM System" (Reddy and Gujral, arXiv 2509.10540), the CVE-2025-32711 record and Aim Labs' own post; every fact below is attributed to one of them.
This case belongs to Security and Threat Modeling for AI Systems. The paper analyses already-public data and says its authors did not reproduce the attack. Aim Labs' pages return HTTP 403 to automated fetches, so they were read as Wayback Machine copies. Defensive framing only: this page leaves out the wording of the injected text, the addresses and the endpoint names.
Context
- The paper describes Microsoft 365 Copilot as an assistant that helps users draft emails, summarize documents and query organizational knowledge.
- It says researchers at Aim Security disclosed EchoLeak in June 2025 and that Microsoft assigned CVE-2025-32711.
- Its threat model: the attacker cannot query Copilot and has no insider access, but can email the victim's organization. The victim is an employee with Copilot enabled; Copilot can read what that employee can read.
Problem statement
| Item | What the sources say |
|---|---|
| CVE description | "Ai command injection in M365 Copilot allows an unauthorized attacker to disclose information over a network." (CVE record) |
| Weakness | CWE-74, improper neutralization of special elements in output used by a downstream component (CVE record) |
| Published | 2025-06-11 (CVE record) |
| Severity | Microsoft's entry in the record: CVSS 3.1 base score 9.3, critical, user interaction none. NVD's own score in the same listing: 7.5, high |
This page's framing of the defence goal: keep outside text from steering the assistant and stop its output moving data out.
Constraints
- The paper assumes the attacker's email is text only, with no malware attachment, and is delivered normally.
- Three defences were already in place, per the paper: an input classifier called XPIA (Cross Prompt Injection Attempt), filtering that redacts certain output such as external links, and a browser content security policy (CSP) that blocks loads from unapproved domains.
- The paper says Microsoft's filters and models are proprietary, so some of its conclusions are inferential.
Why the traditional approach fell short
The paper says prompts are free-form natural language, so they cannot be sanitized like structured input, and that unlike SQL injection prompt injection "cannot be reliably mitigated through schema validation". Ordinary email security is assumed to pass the message.
Its discussion says the classifier, the link redaction and the CSP rules "each failed under modest adversarial pressure". The paper names no other Copilot controls and does not say how XPIA works.
Options considered
| Option | What the paper says | Verdict |
|---|---|---|
| A. Rely on the injection classifier alone | The paper says the injected text was phrased to evade it | Rejected: one layer, and it failed |
| B. Keep external email out of answers about internal work by default (simplest, no new model) | "If emails from unknown external senders are never used to answer questions about internal projects, EchoLeak fails by design" | Accepted as the default, at a cost in coverage: the paper says it reduces functionality, and Aim's post says excluding external email "also degrades the capabilities of Copilot" |
| C. Layered controls: partitioning, an output policy gate, strict CSP, a signed media proxy, confirmation for external fetches | Proposed in the paper; its Table 3 is labelled theoretical | Accepted as the complement to B |
Solution architecture
Figure 1. The controls and steps the paper names
How to read this: each box between the mailbox and the client is a control or step the paper names; the dotted arrow is the path out of the organisation.
Figure 2. The chain as the paper describes it, at defender level
How to read this: the employee does nothing unusual; every failure is a control that let one step through.
How AI solved it, step by step
The stepper compares the paper's account of the chain with its proposed layers, which it says were not comprehensively evaluated.
Under the hood
The paper's account is that retrieved content is inserted into the prompt and that, because "LLMs treat all prompt content as potential instructions", malicious text in retrieved data can cross a trust boundary. Its discussion calls the result a "collapse of the boundary between content and commands". Aim Labs' name for it is "LLM Scope Violation": instructions from untrusted input make the model attend to trusted data in its context "without the user's explicit consent", which Aim says breaks the Principle of Least Privilege.
The shape is three checks on input, output and network, each beaten separately. The paper's Table 3, its own judgement of which proposed defences cover which step, is labelled theoretical.
- Mechanism: Why prompt injection works
- Attack chains: Direct and indirect injection attack chains
What went wrong / failure modes
| Failure (as the paper reports) | What a defender takes from it |
|---|---|
| The classifier missed text phrased as a normal request | A classifier lowers risk; it cannot be the boundary |
| Redaction handled one Markdown link form but not another | Check output against a format allow-list, not a list of known bad forms |
| The client fetched images without a click | Rendering is an egress path; restrict what the client can load |
| An allow-listed Microsoft service fetched external URLs | A proxying allow-listed domain undoes the allow-list; harden such proxies (paper) |
| The email told Copilot not to mention it, so the user saw no sign of outside influence | Show provenance in the interface |
Results
Only what the sources state. The CVE record's own text is quoted under Problem statement.
| Item | Source says |
|---|---|
| Found and reported | Aim Labs built a proof of concept in January 2025 and reported it privately to Microsoft (paper, Table 1) |
| Fixed and disclosed | Server-side fix in May 2025, "no customer action required"; advisory and public research on 2025-06-11 (paper, Table 1). Microsoft's advisory data says it "has already been fully mitigated by Microsoft" |
| Exploitation | The paper says Microsoft stated there was no evidence of in-the-wild exploitation. Aim: "not aware of any customers being impacted to date". The record's CISA entry (2025-06-14) lists exploitation as "none" |
| Not stated | Number of organisations exposed, how long data could be taken, what Microsoft's fix changed in detail |
Tradeoffs and when NOT to use this approach
This is the page's reading, not the sources' claims.
- Option B costs usefulness: some legitimate external mail will not inform answers.
- The paper's defence matrix is analysis, not measurement (a note says "in our tests", yet its limitations say it ran no experiments), and it concerns one vendor's proprietary system. Aim's page also promotes its own guardrails.
- On a hosted assistant most of these controls belong to the vendor; a customer can set policy and monitor.
Design rules extracted
- Keep text from outside the organisation out of prompts that also hold internal data, unless the user asks for it.
- Treat model output as untrusted: allow-list link and image destinations and the Markdown subset before rendering.
- Make the render surface unable to load arbitrary origins, and audit allow-listed domains for proxy behaviour.
- Use a classifier as one layer, never as the boundary.
- Show the user when external content shaped an answer.
Sources
- Pavan Reddy and Aditya Sanjay Gujral, "EchoLeak: The First Real-World Zero-Click Prompt Injection Exploit in a Production LLM System", arXiv 2509.10540, submitted 2025-09-06, published at the AAAI Fall Symposium Series 2025: https://arxiv.org/abs/2509.10540 (HTML: https://arxiv.org/html/2509.10540v1), read in full on 2026-10-22.
- CVE-2025-32711 record, "M365 Copilot Information Disclosure Vulnerability": https://www.cve.org/CVERecord?id=CVE-2025-32711 (data read from https://cveawg.mitre.org/api/cve/CVE-2025-32711) and NVD entry https://nvd.nist.gov/vuln/detail/CVE-2025-32711 (data read from https://services.nvd.nist.gov/rest/json/cves/2.0?cveId=CVE-2025-32711), both on 2026-10-22.
- Aim Labs post by Itay Ravia, 11 June 2025: https://www.aim.security/aim-labs/aim-labs-echoleak-blogpost, and the landing page listed in the CVE record: https://www.aim.security/lp/aim-labs-echoleak-m365. Both return HTTP 403; read on 2026-10-22 as Wayback Machine copies: https://web.archive.org/web/20251209161157/https://www.aim.security/aim-labs/aim-labs-echoleak-blogpost and https://web.archive.org/web/20251125235402/https://www.aim.security/lp/aim-labs-echoleak-m365.
- Microsoft advisory https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-32711 (JavaScript page; data read from https://api.msrc.microsoft.com/sug/v2.0/en-US/vulnerability/CVE-2025-32711 on 2026-10-22).
Last verified: 2026-10-22