CVE-2026-27612
Reflected XSS in Repostat RepoCard Component Before v
Publication date: 2026-02-25
Last updated on: 2026-02-27
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| denpiligrim | repostat | to 1.0.1 (exc) |
Helpful Resources
Exploitability
| 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.