Skip to content

Conversation

@gtsp233
Copy link

@gtsp233 gtsp233 commented Dec 1, 2023

Fix for Cross-Site Scripting (XSS) Vulnerability

I've identified a Cross-Site Scripting (XSS) vulnerability in this package.

Vulnerability Details:

  • Severity: High/Critical
  • Description: There's a risk of malicious script execution when the href of the a element is controlled by an adversary.

Steps to Reproduce:
In a React.js project:

import { Link } from 'gatsby-theme-advanced'

<Link href={`javascript:alert(1)`} />

Then the malicious code alert(1) will be executed.

Suggested Fix or Mitigation:
It is best practice for a React.js components package to sanitize the href attribute before passing it to an tag. React.js itself, along with many popular libraries such as react-router-dom and Next.js, also ensures the safety of href attributes. For instance, React.js issues warnings about URLs starting with javascript: and is planning to block these in future versions, as indicated in this pull request.

I've already fixed and tested this issue, and have submitted a pull request with the necessary changes. Please review and merge my pull request at your earliest convenience to resolve this vulnerability. Thanks!

@netlify
Copy link

netlify bot commented Dec 1, 2023

Deploy Preview for gatsby-advanced-starter-demo failed.

Name Link
🔨 Latest commit 53b2ea6
🔍 Latest deploy log https://app.netlify.com/sites/gatsby-advanced-starter-demo/deploys/6569699f6fed690008573fb5

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.

1 participant