Skip to content

fix(charts): sanitize tooltip HTML across nvd3, rose and partition plugins#9

Open
hbrooks wants to merge 2 commits into
masterfrom
demo/pr-40502
Open

fix(charts): sanitize tooltip HTML across nvd3, rose and partition plugins#9
hbrooks wants to merge 2 commits into
masterfrom
demo/pr-40502

Conversation

@hbrooks

@hbrooks hbrooks commented May 28, 2026

Copy link
Copy Markdown

Originally PR apache#40502 in apache/superset by @sha174n

sha174n and others added 2 commits May 28, 2026 14:27
Route the annotation tooltip HTML through DOMPurify before it is passed
to d3-tip's .html() sink, matching the sanitization already applied in
sibling tooltip helpers in this file.
…ugins

Expand the SEC-125 cluster's annotation-tooltip fix to cover every
confirmed tooltip HTML sink in the cluster, plus the default nvd3
tooltip path that shares the same root cause.

- legacy-preset-chart-nvd3/src/utils.ts: wrap generateBubbleTooltipContent,
  generateMultiLineTooltipContent, and wrapTooltip output with DOMPurify;
  flip getFormattedKey shouldDompurify to true for consistency.
- legacy-plugin-chart-rose/src/Rose.ts: sanitize series keys in
  tooltipData and legendData via sanitizeHtml.
- legacy-plugin-chart-partition/src/Partition.ts: sanitize tooltip HTML
  with sanitizeHtml(t) before tip.html(t).
- legacy-preset-chart-nvd3/test/utils.test.ts: regression tests for the
  three nvd3 utils helpers (script and img onerror payloads).
- scripts/oxlint.sh: drive-by; last line was '[ -n "$output" ] && echo "$output"'
  which under 'set -e' aborts the script when oxlint succeeds with empty
  output. Replaced with an explicit 'if [ -n "$output" ]; then ... fi'
  so a clean lint run no longer fails the pre-commit hook.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants