CVE-2026-27612
Received Received - Intake
Reflected XSS in Repostat RepoCard Component Before v

Publication date: 2026-02-25

Last updated on: 2026-02-27

Assigner: GitHub, Inc.

Description
Repostat is a React component to fetch and display GitHub repository info. Prior to version 1.0.1, the `RepoCard` component is vulnerable to Reflected Cross-Site Scripting (XSS). The vulnerability occurs because the component uses React's `dangerouslySetInnerHTML` to render the repository name (`repo` prop) during the loading state without any sanitization. If a developer using this package passes unvalidated user input directly into the `repo` prop (for example, reading it from a URL query parameter), an attacker can execute arbitrary JavaScript in the context of the user's browser. In version 1.0.1, the use of dangerouslySetInnerHTML has been removed, and the repo prop is now safely rendered using standard React JSX data binding, which automatically escapes HTML entities.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-02-25
Last Modified
2026-02-27
Generated
2026-05-07
AI Q&A
2026-02-25
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
denpiligrim repostat to 1.0.1 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-79 The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

[{'type': 'paragraph', 'content': 'CVE-2026-27612 is a Reflected Cross-Site Scripting (XSS) vulnerability in the RepoCard React component of the repostat package versions prior to 1.0.1.'}, {'type': 'paragraph', 'content': "The vulnerability occurs because the component uses React's dangerouslySetInnerHTML to render the repository name (repo prop) during the loading state without sanitizing the input."}, {'type': 'paragraph', 'content': "If unvalidated user input, such as data from a URL query parameter, is passed directly to the repo prop, an attacker can inject and execute arbitrary JavaScript in the user's browser."}, {'type': 'paragraph', 'content': 'This allows malicious scripts to run in the context of the user’s browser, potentially leading to unauthorized actions or data exposure.'}, {'type': 'paragraph', 'content': 'The issue was fixed in version 1.0.1 by removing dangerouslySetInnerHTML and using standard React JSX data binding, which safely escapes HTML entities and prevents XSS.'}] [1, 2]


How can this vulnerability impact me? :

[{'type': 'paragraph', 'content': "This vulnerability can allow an attacker to execute arbitrary JavaScript code in the context of a user's browser if untrusted input is passed to the vulnerable component."}, {'type': 'paragraph', 'content': 'The impact includes potential unauthorized actions performed on behalf of the user, theft of sensitive information such as cookies or session tokens, and manipulation of the web page content.'}, {'type': 'paragraph', 'content': 'The CVSS v3.1 score is 6.1, indicating moderate severity, with low confidentiality and integrity impacts but no availability impact.'}] [1]


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

[{'type': 'paragraph', 'content': "This vulnerability can be detected by checking if the application uses the vulnerable version of the repostat package (prior to 1.0.1) and if the RepoCard component renders the repository name using React's dangerouslySetInnerHTML without sanitization."}, {'type': 'paragraph', 'content': 'A practical detection method is to test if untrusted input passed to the repo prop (for example, via a URL query parameter) results in execution of arbitrary JavaScript in the browser, indicating a reflected XSS vulnerability.'}, {'type': 'paragraph', 'content': 'There are no specific network commands provided in the resources, but you can perform manual testing by crafting URLs with malicious scripts in the repo parameter and observing if the script executes.'}, {'type': 'paragraph', 'content': 'Additionally, you can check the installed version of the repostat package in your project by running the command:'}, {'type': 'list_item', 'content': 'npm list repostat'}, {'type': 'paragraph', 'content': 'If the version is below 1.0.1, your system is vulnerable.'}] [1]


What immediate steps should I take to mitigate this vulnerability?

The immediate mitigation step is to upgrade the repostat package to version 1.0.1 or later, where the vulnerability has been fixed by removing the use of dangerouslySetInnerHTML and switching to safe JSX rendering.

If upgrading is not immediately possible, ensure that any input passed to the repo prop is properly sanitized and validated to prevent injection of malicious scripts.

Avoid passing untrusted user input directly to the repo prop, especially from URL query parameters or other external sources.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart