Repository navigation
Isolate footnote DOM names while preserving links - #296
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Raw HTML could forge permitted footnote IDs and expose their original names on window; host extensions could also reopen arbitrary named properties through image name attributes. Apply a shared user-content- namespace policy to both sanitizers, rewrite matching fragment and ARIA references together, and strip name attributes even when host extensions admit or add them.
Footnote navigation, backreferences, message-specific prefixes, and repeated sanitization remain consistent across string and streaming DOM sinks. Sanitized IDs now carry user-content-; raw renderMarkdownUnsafe output retains its existing IDs. Document the reserved namespace and the remaining possibility of duplicate IDs within untrusted content.
Validation:
Note
High risk
This changes the security boundary in src/sanitize.ts for both sanitizer backends and string/streaming DOM sinks, altering how untrusted IDs, names, and references are handled.
Overview
Summary by Copse Reviewer for commit 23c44d2. The review reported no issues. copse-review 0.1.0