Parsed HTML anchor links in Markdown provided to parseMarkdown can result in XSS in @nuxtjs/mdc
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- High · None · Low
- 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. In affected versions unsafe parsing logic of the URL from markdown can lead to arbitrary JavaScript code due to a bypass to the existing guards around the `javascript:` protocol scheme in the URL. The parsing logic implement in `props.ts` maintains a deny-list approach to filtering potential malicious payload. It does so by matching protocol schemes like `javascript:` and others. These security guards can be bypassed by an adversarial that provides JavaScript URLs with HTML entities encoded via hex string. Users who consume this library and perform markdown parsing from unvalidated sources could result in rendering vulnerable XSS anchor links. This vulnerability has been addressed in version 0.13.3 and all users are advised to upgrade. There are no known workarounds for this vulnerability.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- 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-modules | mdc | before 0.13.3 | 0.13.3 | Patch available | CNA |
| — | @nuxtjs/mdc (npm) | before 0.13.3 | 0.13.3 | Patch available | GHSA-j82m-pc2v-2484 |
- mdc Vendornuxt-modules Affected before 0.13.3 Fixed in 0.13.3 Patch available CNA
- @nuxtjs/mdc (npm) Vendor— Affected before 0.13.3 Fixed in 0.13.3 Patch available GHSA-j82m-pc2v-2484
Remediation
- Fix · CNA mdc (nuxt-modules) Fixed in 0.13.3
- Fix · GHSA-j82m-pc2v-2484 @nuxtjs/mdc (npm) Fixed in 0.13.3 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2025-24981
- 2026-10-03 Alias added: GHSA-j82m-pc2v-2484
References
More nuxt-modules vulnerabilities
- TI-2025-33918 mdc vulnerable to XSS in markdown rendering bypassing HTML filter. (N°4) CVSS 3.1HIGH 8.3
- TI-2026-44231 Nuxt OG Image has unauthenticated SSRF via `fonts[].path` URL parameter CVSS 4.0MEDIUM 6.9
- TI-2026-74652 Cache poisoning in Nuxt OG Image via unsigned image routes CVSS 4.0MEDIUM 6.9
- TI-2026-32501 nuxt-og-image SSRF — bypass of GHSA-pqhr-mp3f-hrpp / v6.2.5 fix (IPv6 + redirect) CVSS 3.1LOW 3.7
Sources
- CVE-2025-24981 · CVE Program
- CVE-2025-24981 · NVD
- FIRST EPSS
- GHSA-j82m-pc2v-2484 · 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