docs: Fix XSS vulnerability in JSON-LD guide example #79630
Closed
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.
Problem
The JSON-LD documentation example uses
dangerouslySetInnerHTML
withJSON.stringify()
without proper escaping, creating an XSS vulnerability. Malicious content in product data (e.g.,product.name
containing</script><script>alert(1);</script>
) could break out of the script tag and execute arbitrary JavaScript.Solution
escapeJsonForScript()
helper function that escapes<
and>
characters using Unicode escape sequencesSecurity Impact
This change prevents potential XSS attacks that could occur when user-controlled data is included in JSON-LD structured data without proper escaping.
Testing
Fixes: XSS vulnerability in JSON-LD documentation example