
CVE-2025-32711 EchoLeak: Zero-Click Prompt Injection in Microsoft 365 Copilot Exfiltrates Enterprise Data
Security researchers uncovered EchoLeak (CVE-2025-32711), a zero-click indirect prompt injection flaw in Microsoft 365 Copilot allowing automated exfiltration of sensitive enterprise documents. Client-side PII scrubbing halts downstream payload synthesis before sensitive tokens touch the LLM context window.

Published: · Updated: · 3 min read
Zero-Trust Data Sanitization
Watch PrivacyScrubber's local engine transform sensitive Security data instantly in your browser, without any API calls.
Technical Incident Analysis
Vulnerability CVE-2025-32711, dubbed 'EchoLeak', represents a critical evolution in prompt injection vectors targeting Microsoft 365 Copilot. Unlike traditional direct prompt injections that require interactive user prompting, EchoLeak is an automated, zero-click indirect prompt injection vulnerability. Attackers deliver malicious instruction payloads embedded in background data streams—such as inbound emails, shared OneDrive attachments, or calendar invites—that Copilot indexes for organizational contextual search. Modern defensive engineering requires robust AI Security Architecture to stop autonomous prompt execution across networked pipelines, mirroring threats documented in our analysis of the Related AI Security Incident.
When an enterprise user requests an everyday operational summary, Copilot retrieves the indexed document along with legitimate internal communications. The injected prompt overrides model safety boundaries, instructing Copilot to silently concatenate sensitive internal data (including emails, SharePoint documents, and tenant credentials) and transmit it externally via dynamic image URLs or markdown hyperlinking rendered in the chat interface.
Enterprise Blast Radius & Compliance Risks
The enterprise blast radius of EchoLeak is extensive because Microsoft 365 Copilot operates with delegated tenant permissions, accessing sensitive SharePoint sites, Teams channels, and Outlook mailboxes. An unauthenticated external sender can trigger exfiltration simply by sending an adversarial email to an employee whose Copilot daily summary workflow automatically processes inbox items. This exposure creates severe regulatory non-compliance under GDPR & CCPA Compliance, triggering mandatory breach notifications due to unauthorized processing and exfiltration of identifiable personal and corporate data.
Client-Side Mitigation via Zero-Trust Data Sanitization
Mitigating zero-click AI vulnerabilities cannot rely solely on model-level alignment or reactive prompt firewalls. Organizations must deploy pre-inference data sanitization directly at the endpoint and gateway layers. Utilizing PrivacyScrubber's zero-trust Model Context Protocol (MCP) Sanitizer, all context retrieved from local repositories and cloud stores is parsed entirely in local volatile memory (RAM). Real PII, API tokens, and confidential financial metrics are converted to reversible synthetic tokens mapped strictly in a local sessionMap before reaching the Copilot inference endpoint. If an indirect injection triggers an unauthorized exfiltration request, the payload captures only non-sensitive cryptographic placeholders, neutralizing the breach vector instantly.
Step-by-Step Integration Guide: CVE-2025-32711 EchoLeak
PrivacyScrubber operates entirely client-side. Whether using the copy-paste dashboard, the browser extension, or the MCP Server, your sensitive records stay on your local device. Follow these instructions to safely use Microsoft Copilot:
1 Method A: Zero-Trust Web Workspace (Copy-Paste)
Best for manual prompt sanitization without installing plugins:
- Open the PrivacyScrubber Web App dashboard in your browser.
- Paste the raw prompt or text containing sensitive details of CVE-2025-32711 EchoLeak.
- Click Protect PII. Sensitive data is instantly swapped for secure placeholders (e.g.,
[NAME_1]). - Submit the sanitized prompt to Microsoft Copilot.
- Paste the AI's answer into the Reveal Originals box to instantly restore the original values.
2 Method B: Chrome Extension (In-Context Redaction)
For automated, inline de-identification within chat interfaces:
- Install the free PrivacyScrubber Chrome Extension from the Web Store.
- Navigate to your AI chat interface. A PrivacyScrubber shield button will appear inline.
- Paste your raw prompt. Click the shield button to sanitize all identifiers instantly in-place.
- Send the prompt to the AI chatbot.
- The extension automatically intercepts and detokenizes the response, displaying raw values to you.
Local Redaction & Risk Matrix for Security
| Detection Entity | Token Placeholder | Risk Level | Security Action |
|---|---|---|---|
| User / Server IP Addresses | [IP_ADDRESS] | High (DLP / Location footprinting) | IPv4 / IPv6 format strip |
| AWS_KEY Details | [AWS_KEY] | Medium (PII Exposure) | Deterministic local swap |
| INTERNAL_HOSTNAME Details | [INTERNAL_HOSTNAME] | Medium (PII Exposure) | Deterministic local swap |
| MAC_ADDRESS Details | [MAC_ADDRESS] | Medium (PII Exposure) | Deterministic local swap |
| VULN_ID Details | [VULN_ID] | Medium (PII Exposure) | Deterministic local swap |
From Raw Security Data to Clean AI Prompt — 3 Steps, 30 Seconds, Zero Server Hops
Open PrivacyScrubber or the Chrome Extension. Paste your real CVE-2025-32711 EchoLeak text. What reaches ChatGPT looks like this: [NAME_1][EMAIL_1]. Your original data stays local the entire time.
[IP_ADDRESS][AWS_KEY][INTERNAL_HOSTNAME][MAC_ADDRESS][VULN_ID]Step 1: Paste Your Real Data
Paste your actual prompt or document text into PrivacyScrubber — or click the shield icon directly inside ChatGPT, Claude, or Gemini. No copy-paste workaround. No second tab. It sits right where you already work.
Step 2: Names Out, Tokens In — Locally
The engine runs inside your browser. Every real name, ID, and email is replaced with a safe token ([NAME_1], [EMAIL_1]) before the prompt is sent. The AI analyzes your actual business logic — but sees zero real identities.
Step 3: Get the AI's Answer Back in Plain Language
Paste the AI's response into Reveal Originals. PrivacyScrubber swaps every token back to the original value — instantly, inside browser RAM. Close the tab and every mapping is gone. Nothing stored, nothing logged, nothing sent.
Enterprise Adoption Use Cases
CISO Security TeamDLP GOVERNANCE
VP of EngineeringENGINEERING SEC
Risk & Audit LeadCOMPLIANCE AUDIT
Data Protection OfficerGDPR COMPLIANCE
Your Whole Team on Real Client Data. Safely. $99/mo Flat.
No per-seat pricing. No DPA negotiation. No IT portal. Secure your entire organization with client-side PII masking — $99/month flat, unlimited users. SOC 2 & HIPAA ready. Works in Airplane Mode.
Zero-Trust Data Sanitization (ZTDS) — Verified Architecture
Independently auditable facts for Sensitive Data compliance teams
- Data transmission
- 0 bytes sent to any server
- Processing location
- 100% browser RAM (volatile memory)
- Session map persistence
- Destroyed on tab close — never written to disk
- Key derivation
- Argon2id (memory-hard, server-independent)
- Encryption cipher
- XChaCha20-Poly1305 (authenticated encryption)
- Offline verification
- Airplane Mode Standard — full function without network
- BAA / DPA required
- No — zero PHI/PII reaches PrivacyScrubber servers
- Audit method
- Chrome DevTools → Network tab — zero outbound requests
How to audit: Open PrivacyScrubber, enable Airplane Mode, paste any sensitive data text, click Protect PII. Open Chrome DevTools → Network tab. Zero outbound requests will confirm 100% local execution. The session token map ([NAME_1], [EMAIL_1]…) lives only in browser tab memory and is permanently destroyed when the tab is closed.
Frequently Asked Questions
Common questions about deploying zero-trust AI for AI Shadow Leaks & News Teams.
