What happened
Attacker embeds indirect prompt injection in an innocuous-looking document (e.g., an Einstein biography). When Copilot previews it, CSS @font-face requests leak sensitive context to an attacker-controlled server. A binary user response ('yes'/'no') triggers memory poisoning via record_memory, planting a persistent backdoor.
Why it matters
All future M365 Copilot conversations for the affected user rendered HTML previews containing font requests encoding sensitive data (emails, Teams messages, SharePoint documents, credentials) to attacker infrastructure. No audit trail was generated for the memory write in Microsoft Purview.
Missing authorization check
Writes to the Copilot memory store should require an explicit authorization receipt signed by the user. The record_memory tool had no audit hook and no external gate — it was callable by any prompt injection without any user-observable confirmation.
Would PP block it?
PP covers the memory poisoning vector: a tool-call gate requiring a signed receipt for any record_memory invocation would block the backdoor installation. The initial data exfiltration via CSS font-face requests is a rendering-layer issue that PP does not currently address — that requires a CSP enforcement fix on Microsoft's side. Full coverage needs both: PP for memory writes, vendor-side CSP for exfiltration.