Skip to content
Verified reproduction

CVE-2026-17496: NoteGen chat preview XSS via unsanitized HTML rendering before 0.32.0

CVE-2026-17496 is verified against note-gen · github affected versions: NoteGen before 0.32.0 fixed version: 0.32.0 vulnerability class: XSS This high reproduction includes runnable sandbox proof, artifacts, and a plain-text agent view under REPRO-2026-00304.

REPRO-2026-00304 note-gen · github XSS Jul 27, 2026 CVE entry .txt
Severity HIGH
Confidence HIGH
Reproduced in 78m 29s
Tool calls 233
Spend $16.89
Affected NoteGen before 0.32.0
Fixed in 0.32.0
$ pruva-verify REPRO-2026-00304
or curl -O https://pruva.dev/api/v1/reproductions/REPRO-2026-00304/artifacts/bundle/repro/reproduction_steps.sh && chmod +x reproduction_steps.sh && ./reproduction_steps.sh
Run in a VM or disposable container. This exploits a real vulnerability.
02 · The vulnerability

Primary-source brief (manual researched): NVD states NoteGen before 0.32.0 renders AI chat responses with markdown-it configured with html:true and injects the result into the DOM via dangerouslySetInnerHTML in chat-preview, without HTML sanitization and with CSP set to null. Attacker-controlled content that reaches the model prompt (for example a malicious skill REFERENCE.md that induces the model to emit HTML) can cause executable markup such as an img onerror handler, leading to XSS in the privileged Tauri webview. Upstream references point to NoteGen commit ae3ba948c41d8a74b4a20f4c6f26fcdda2002298 and release note-gen-v0.32.0. Reproduction goal for the pipeline: independently prove this CVE's own chat-preview XSS claim using the real UI path and compare vulnerable vs fixed behavior; do not conflate with CVE-2026-17497 or invent a broader exploit.

03 · Root cause
04 · Reproduction transcript

The agent's step-by-step process — every tool call, every handoff, the moment the exploit fired.

Loading session...

05 · Artifacts

Scripts, logs, diffs, and output captured during the reproduction.

bundle/repro/reproduction_steps.sh22.2 KB
bundle/repro/rca_report.md6.8 KB
bundle/repro/runtime_manifest.json2.0 KB
bundle/artifacts/notegen-chat-preview-xss/proof_summary.json3.5 KB
bundle/logs/repro/vulnerable_attempt_1.log11.1 KB
bundle/logs/repro/vulnerable_attempt_2.log11.1 KB
bundle/logs/repro/fixed_attempt_1.log9.8 KB
bundle/logs/repro/fixed_attempt_2.log9.8 KB
bundle/logs/repro/source_diff_chat_preview.log21.2 KB
bundle/logs/reproduction_steps.log4.4 KB
bundle/logs/repro/install_vulnerable.log4.9 KB
bundle/logs/repro/install_fixed.log4.7 KB
bundle/logs/repro/vulnerable_server.log2.2 KB
bundle/logs/repro/fixed_server.log2.9 KB
bundle/artifacts/notegen-chat-preview-xss/runtime/vulnerable_attempt_1/REFERENCE.md0.6 KB
bundle/artifacts/notegen-chat-preview-xss/runtime/vulnerable_attempt_1/browser_eval.json4.8 KB
bundle/artifacts/notegen-chat-preview-xss/runtime/vulnerable_attempt_1/dom.html30.9 KB
bundle/artifacts/notegen-chat-preview-xss/runtime/vulnerable_attempt_2/REFERENCE.md0.6 KB
bundle/artifacts/notegen-chat-preview-xss/runtime/vulnerable_attempt_2/browser_eval.json4.8 KB
bundle/artifacts/notegen-chat-preview-xss/runtime/vulnerable_attempt_2/dom.html30.9 KB
bundle/artifacts/notegen-chat-preview-xss/runtime/fixed_attempt_1/REFERENCE.md0.6 KB
bundle/artifacts/notegen-chat-preview-xss/runtime/fixed_attempt_1/browser_eval.json4.1 KB
bundle/artifacts/notegen-chat-preview-xss/runtime/fixed_attempt_1/dom.html30.1 KB
bundle/artifacts/notegen-chat-preview-xss/runtime/fixed_attempt_2/REFERENCE.md0.6 KB
bundle/artifacts/notegen-chat-preview-xss/runtime/fixed_attempt_2/browser_eval.json4.1 KB
bundle/artifacts/notegen-chat-preview-xss/runtime/fixed_attempt_2/dom.html30.1 KB
bundle/repro/validation_verdict.json0.7 KB