@tinacms/web-components: `tina-markdown` writes rich-text link URLs into `href` without scheme validation, allowing stored XSS (CVE-2026-108260)
Description
The @tinacms/web-components package's <tina-markdown> component improperly assigns link URLs directly to anchor href attributes without validating the URL scheme. This allows an attacker to craft a stored cross-site scripting (XSS) payload by using javascript: URLs in rich-text content authored in the CMS. The vulnerability affects versions prior to 0.2.1. A patch is available that adds URL scheme sanitization consistent with other sibling renderers in the repository.
CVSS v3.1
Score 7.6high
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
<tina-markdown> renders a rich-text abstract syntax tree (AST) into the DOM and assigns the URL from 'a' nodes directly to anchor href attributes without checking the URL scheme. Unlike other renderers in the TinaCMS repository that sanitize URLs to allow only safe schemes (http, https, mailto, tel, xref), this component lacks such validation. This omission permits javascript: URLs to be rendered as live links, enabling stored XSS when a user clicks the malicious link. The vulnerability is confirmed in versions before 0.2.1. The recommended fix is to reuse the existing sanitizeUrl function from '@tinacms/mdx/sanitize-url' to validate URLs before assignment. The vulnerability has a CVSS 3.1 score of 7.6 (High) with vector AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N.
Potential Impact
An attacker with the ability to author rich-text content in the CMS can inject javascript: URLs that execute arbitrary scripts in the context of the site when clicked by visitors. This leads to stored cross-site scripting (XSS) with high confidentiality impact and limited integrity impact. The vulnerability requires user interaction (clicking the malicious link) and privileges to author content. There are no known exploits in the wild. The vulnerability affects the confidentiality and integrity of the site and its users.
Mitigation Recommendations
A patch is available that fixes this vulnerability by adding URL scheme validation using the existing sanitizeUrl function from '@tinacms/mdx/sanitize-url'. Users should upgrade to version 0.2.1 or later of @tinacms/web-components. The vendor advisory confirms the fix is available. Until patched, avoid using untrusted content in <tina-markdown> or implement manual URL sanitization as a temporary measure.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-c42q-qvc3-j6vg
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-108260"]
- Ecosystems
- ["npm"]
- Database Specific Severity
- HIGH
- Cvss Version
- 3.1
Threat ID: 6ac96e3f2cdf04f65689a54e
Added to database: 10/09/2026, 22:44:15 UTC
Last enriched: 10/09/2026, 22:46:05 UTC
Last updated: 10/09/2026, 22:46:05 UTC
Views: 4
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.