Repository navigation
[GHSA-3x58-xr87-2fcj] Cross-site scripting in bluemonday - #10293
Open
darshanrajagoli wants to merge 1 commit into
Open
darshanrajagoli wants to merge 1 commit into
darshanrajagoli wants to merge 1 commit into
Conversation
github-actions
Bot
changed the base branch from
main
to
darshanrajagoli/advisory-improvement-10293
October 10, 2026 07:27
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.
Updates
Comments
v1.0.0, v1.0.1 and v1.0.2 aren't affected. The bug first appeared in af9fa8b (2016-12-02), was fixed in 5793ebc (2017-12-22, before v1.0.0), and came back in 876b4780 (2019-07-11), which first shipped in v1.0.3. The report of bluemonday issue 111 names the same commit. 524f142 fixed it again in v1.0.5.
I ran
NewPolicy()andUGCPolicy()on the input from the fix commit's test, written with a real U+0130 (the test itself uses a raw string, so it passes on v1.0.4 too). v1.0.0 to v1.0.2 and v1.0.5 return it escaped. v1.0.3, v1.0.4 and the commits from af9fa8b to 80ef48b return a live<script>element.go.mod retracts [v1.0.0, v1.0.25], so the proxy now resolves old commits to v0.0.0- pseudo-versions, and v1.0.3-0. pseudo-versions from before the retraction are still pinned in real go.mod files (for example v1.0.3-0.20191119130333-0a75d7616912 and v0.0.0-20161202143824-e79763773ab6, both affected). The three ranges still cover every affected commit and stop flagging v1.0.0 to v1.0.2.
microcosm-cc/bluemonday@af9fa8b
microcosm-cc/bluemonday@5793ebc
microcosm-cc/bluemonday@876b478
microcosm-cc/bluemonday@524f142
I used an AI assistant for this analysis; the results come from running the code on each version.