Cross-site scripting in nuxt-content mdc
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.
Summary
MDC is a tool to take regular Markdown and write documents interacting deeply with a Vue component. Prior to 0.22.1, @nuxtjs/mdc uses parseMarkdown with allowDangerousHtml enabled by default and relies on validateProps, validateProp, and unsafeLinkPrefix to remove executable URLs from untrusted Markdown. validateProp checks only attributes named href or src, allowing an SVG xlink:href value represented as xLinkHref to retain a javascript: URL that executes in the page origin when selected. The data:text/html denylist entries are also compared against url.protocol, which is only data:, so an iframe src containing data:text/html survives sanitization and executes in an opaque origin when loaded. Plain href javascript: URLs, srcdoc, object, script, and base elements are already blocked, making these two paths specific sibling gaps in the sanitizer. This issue is fixed in version 0.22.1.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| nuxt-content | mdc | before 0.22.1 | 0.22.1 | Patch available | CNA |
| — | @nuxtjs/mdc (npm) | before 0.22.1 | 0.22.1 | Patch available | GHSA-mxm6-v9r6-r94c |
- mdc Vendornuxt-content Affected before 0.22.1 Fixed in 0.22.1 Patch available CNA
- @nuxtjs/mdc (npm) Vendor— Affected before 0.22.1 Fixed in 0.22.1 Patch available GHSA-mxm6-v9r6-r94c
Remediation
- Fix · CNA mdc (nuxt-content) Fixed in 0.22.1
- Fix · GHSA-mxm6-v9r6-r94c @nuxtjs/mdc (npm) Fixed in 0.22.1 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-63671
- 2026-10-03 Alias added: GHSA-mxm6-v9r6-r94c
References
Other 5
Sources
- CVE-2026-63671 · CVE Program
- CVE-2026-63671 · NVD
- FIRST EPSS
- GHSA-mxm6-v9r6-r94c · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences