Skip to main content
Mallory
HighPublic exploit

EchoLeak: AI command injection in Microsoft 365 Copilot

IdentifiersCVE-2025-32711CWE-74· Improper Neutralization of Special…Also known asecholeak

CVE-2025-32711 is a critical information disclosure vulnerability in Microsoft 365 Copilot caused by AI command injection, also referred to publicly as EchoLeak. Microsoft describes the issue as allowing an unauthorized attacker to disclose information over a network. Supporting content indicates this was a zero-click, indirect prompt-injection scenario in which attacker-controlled content, such as a crafted email containing hidden or specially formatted instructions, could be ingested by Copilot through its retrieval and summarization workflows. The malicious content could then influence Copilot to retrieve sensitive enterprise data from connected Microsoft 365 sources such as Outlook, Teams, OneDrive, and SharePoint and include or transmit that data in attacker-influenced outbound content. Additional reporting cited in the content describes bypass techniques involving hidden text, reference-style Markdown, auto-fetched images, and trusted Microsoft domains or proxies, but Microsoft’s advisory itself provides only the high-level classification of AI command injection and information disclosure.

Share:
For your environment

Are you exposed to this one?

Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation can result in unauthorized disclosure of sensitive data accessible to the victim’s Microsoft 365 Copilot context. Reported exposed data includes email content, chat logs, Teams messages, OneDrive files, SharePoint documents, and related enterprise context. Microsoft’s CVSS vector indicates high confidentiality impact, low integrity impact, and no availability impact, with changed scope. The content repeatedly characterizes the issue as zero-click and remote, meaning disclosure could occur without user interaction once malicious content is processed by Copilot.

Mitigation

If you can’t patch tonight, do this now.

Because Microsoft reports the issue as already fully mitigated server-side, there is no primary customer-side mitigation required for the specific CVE. Defense-in-depth measures supported by the content include reducing Copilot retrieval scope and permissions where possible, applying least privilege to accessible Microsoft 365 data sources, enforcing DLP and sensitivity labeling, monitoring Copilot activity and unusual retrieval/exfiltration patterns, and treating untrusted inbound content such as emails and documents as potential prompt-injection carriers. Architectural mitigations discussed in supporting material include stronger trust-boundary separation, prompt partitioning, stricter input/output filtering, provenance-aware access controls, and tighter content security policies.

Remediation

Patch, then assume compromise.

Microsoft stated that CVE-2025-32711 was fully mitigated by Microsoft as a cloud-service fix and that no customer action is required. The advisory was published for transparency regarding a cloud service CVE. Where organizations want assurance beyond Microsoft’s statement, they should verify they are operating on the remediated Microsoft 365 Copilot service and review subsequent Microsoft guidance or service communications related to Copilot security hardening.
PUBLIC EXPLOITS

Exploits

1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos (1 hidden).

VALID 1 / 2 TOTALView more in app
markdown-exfil-testerMaturityPoCVerified exploit

This repository is a real offensive security testing tool rather than a simple detector or README-only project. It is a Node.js CLI utility named valtik-markdown-exfil-tester that targets the markdown/HTML exfiltration class affecting LLM-backed chatbots, especially where prompt injection causes the model to emit renderable markdown or HTML that triggers browser-side fetches. The core capability is to prove whether a chatbot/frontend combination can be induced to fetch attacker-controlled URLs and leak marker data through query parameters. Repository structure is compact and modular. The main entry point is src/cli.js, which parses arguments, starts the local sink, loads payloads, optionally launches Playwright, delivers payloads, renders responses, classifies results, and prints reports. src/sink.js implements a localhost-only HTTP listener on 127.0.0.1 with a random or user-specified port; it records request metadata including path, query, headers, referer, IP, and user-agent. src/browser.js wraps Playwright Chromium to render arbitrary HTML/markdown and capture outbound and failed requests, enabling distinction between successful fetches and blocked attempts. src/classify.js correlates sink hits, browser requests, failed requests, and LLM response text to classify each payload as confirmed, browser-tried, llm-emitted, refused, or inconclusive. Delivery logic is split into two modes. src/deliver/direct.js performs direct POST submission to a chatbot endpoint using several common API request shapes: OpenAI-style chat completions, Anthropic-style messages, simple JSON message/prompt bodies, and form-encoded q=. It extracts response text heuristically from multiple common JSON response formats or SSE/plain text. src/deliver/indirect-doc.js supports indirect prompt injection by generating markdown documents containing payloads, writing them to disk for later upload into a target knowledge base, RAG source, support system, or similar ingestion path, then waiting for sink hits tagged with the payload ID. The payload library in src/payloads/library.json is the main exploit content. It contains a broad set of render-side exfil vectors: markdown images, reference-style links and images, raw HTML img tags, srcset, SVG image href/xlink, iframe, object, embed/media-related tags, form-related vectors, and prompt-wrapped social-engineering payloads that explicitly instruct the LLM to reproduce the malicious markup. Templates substitute a sink URL, sink host, payload ID, and a placeholder secret token (SECRET_PROBE). This makes the tool operational rather than a bare PoC, though payload customization is still relatively simple and local. Notable network/target behavior: the tool does not hardcode an external attacker server; instead it creates a local HTTP sink at 127.0.0.1:<port> and points payloads there for correlation. The actual remote target is user-supplied as <chatbot-url> and optionally --endpoint. In direct mode it sends POST requests to the target endpoint. In browser-assisted mode it renders returned content locally and observes whether the browser attempts to fetch the sink URL. The tool also records referer values, which can help demonstrate what page or thread triggered the exfil attempt. Overall, this repository is best characterized as an operational black-box exploit/testing harness for browser-mediated markdown/HTML exfiltration in LLM chatbot ecosystems. It is not malware and does not steal real secrets by default, but it is clearly exploit-oriented: it automates payload delivery, render-side triggering, network capture, and severity classification for a known vulnerability class associated with CVE-2025-32711 and similar issues.

TreRBDisclosed Apr 20, 2026javascriptjsonwebbrowsernetwork
EXPOSURE SURFACE

Affected products & vendors

Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.

VendorProductType
Microsoft Corporation365 Copilotapplication

Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence

Every observed campaign linking this CVE to a named adversary.

Associated malware

Malware families riding this exploit, with evidence and IOCs.

Detection signatures

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity32

Community discussion across Reddit, Mastodon, and other social sources.