Skip to content

[pull] main from Milkdown:main#195

Merged
pull[bot] merged 1 commit into
code:mainfrom
Milkdown:main
Apr 15, 2026
Merged

[pull] main from Milkdown:main#195
pull[bot] merged 1 commit into
code:mainfrom
Milkdown:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Apr 15, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

…d v11+ flowcharts (#2332)

* fix(components): allow foreignObject in code block preview for Mermaid v11+ flowcharts

DOMPurify.sanitize() with default config strips foreignObject elements from SVG. Mermaid v11+ uses foreignObject for flowchart node labels, causing all text to disappear in the code block preview.

* Create fix-dompurify-foreignobject.md

* fix(components): use DOMPurify hook to restrict foreignObject to SVG context

Address security review: instead of allowing foreignObject globally,
use a DOMPurify hook to only permit it within SVG namespace.
foreignObject outside SVG is a known mXSS vector (CVE-2020-26870).

* fix(components): add HTML_INTEGRATION_POINTS to preserve foreignObject content

fix(components): add HTML_INTEGRATION_POINTS to preserve foreignObject content

ADD_TAGS: ['foreignObject'] allows the element itself to survive
sanitization, but DOMPurify still treats its children as SVG context
and strips standard HTML elements (div, span, p) inside it.

HTML_INTEGRATION_POINTS: { foreignobject: true } tells DOMPurify that
foreignObject switches the parsing context back to HTML namespace,
so child elements are sanitized as HTML — not rejected as invalid SVG.

This matches Mermaid's own internal DOMPurify configuration.
The uponSanitizeElement hook still restricts foreignObject to SVG
context only, addressing the mXSS concern from the previous review.

* fix: type error

* chore: remove changeset in favour of automatic generator

---------

Co-authored-by: Saul-Mirone <Saul-Mirone@outlook.com>
@pull pull Bot locked and limited conversation to collaborators Apr 15, 2026
@pull pull Bot added the ⤵️ pull label Apr 15, 2026
@pull pull Bot merged commit ed62311 into code:main Apr 15, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant