CVE-2025-54075: CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in nuxt-modules mdc
MDC is a tool to take regular Markdown and write documents interacting deeply with a Vue component. Prior to version 0.17.2, a remote script-inclusion / stored cross-site scripting vulnerability in @nuxtjs/mdc lets a Markdown author inject a `<base href="https://attacker.tld">` element. The `<base>` tag rewrites how all subsequent relative URLs are resolved, so an attacker can make the page load scripts, styles, or images from an external, attacker-controlled origin and execute arbitrary JavaScript in the site’s context. Version 0.17.2 contains a fix for the issue.
AI Analysis
Technical Summary
CVE-2025-54075 is a high-severity stored cross-site scripting (XSS) vulnerability affecting versions of the @nuxtjs/mdc module prior to 0.17.2. MDC is a tool designed to convert Markdown documents into interactive content by deeply integrating with Vue components. The vulnerability arises from improper neutralization of input during web page generation, specifically allowing a Markdown author to inject a <base href="https://attacker.tld"> HTML element. The <base> tag modifies the resolution of all subsequent relative URLs on the page, enabling an attacker to redirect resource loading (scripts, stylesheets, images) to an attacker-controlled domain. This can lead to execution of arbitrary JavaScript within the context of the vulnerable site, compromising confidentiality, integrity, and availability of the web application and its users. The vulnerability requires no authentication or user interaction and can be exploited remotely by submitting malicious Markdown content that is rendered by the vulnerable module. The CVSS v3.1 score of 8.3 reflects the network attack vector, low attack complexity, no privileges or user interaction required, and a scope change that affects resources beyond the vulnerable component. Although no known exploits are currently reported in the wild, the nature of the vulnerability and its ease of exploitation make it a significant risk. The issue was addressed in version 0.17.2 of the @nuxtjs/mdc module by properly sanitizing or restricting the injection of <base> elements in Markdown content, preventing attackers from manipulating resource loading and script execution.
Potential Impact
For European organizations, this vulnerability poses a serious threat especially to those using the @nuxtjs/mdc module in their web applications or documentation platforms. Exploitation could lead to unauthorized script execution, enabling attackers to steal sensitive user data such as authentication tokens, perform actions on behalf of users, or deliver further malware payloads. This can result in data breaches, reputational damage, regulatory non-compliance (e.g., GDPR violations), and service disruption. Since the vulnerability affects the rendering of Markdown content, any system that allows user-generated or third-party Markdown input without strict validation is at risk. Attackers could leverage this to target internal tools, customer-facing portals, or developer documentation sites. The ability to manipulate the <base> tag also increases the attack surface by redirecting resource loading, potentially bypassing content security policies or other defenses. Given the widespread use of Vue.js and Nuxt.js frameworks in Europe, especially in technology, finance, and government sectors, the impact could be significant if not promptly mitigated.
Mitigation Recommendations
European organizations should immediately upgrade the @nuxtjs/mdc module to version 0.17.2 or later to apply the official fix. Additionally, they should audit all systems that render Markdown content to ensure no untrusted input can inject HTML elements like <base>. Implement strict input validation and sanitization on Markdown inputs, possibly using a whitelist approach to allowed tags and attributes. Employ Content Security Policy (CSP) headers that restrict script and resource loading to trusted domains, mitigating the impact of any injected malicious URLs. Regularly review and monitor logs for unusual requests or content submissions that could indicate exploitation attempts. For internal tools, consider restricting Markdown editing permissions to trusted users only. Finally, conduct security awareness training for developers and content authors about the risks of injecting raw HTML in Markdown and the importance of using updated libraries.
Affected Countries
Germany, France, United Kingdom, Netherlands, Sweden, Finland, Denmark, Belgium, Italy, Spain
CVE-2025-54075: CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in nuxt-modules mdc
Description
MDC is a tool to take regular Markdown and write documents interacting deeply with a Vue component. Prior to version 0.17.2, a remote script-inclusion / stored cross-site scripting vulnerability in @nuxtjs/mdc lets a Markdown author inject a `<base href="https://attacker.tld">` element. The `<base>` tag rewrites how all subsequent relative URLs are resolved, so an attacker can make the page load scripts, styles, or images from an external, attacker-controlled origin and execute arbitrary JavaScript in the site’s context. Version 0.17.2 contains a fix for the issue.
AI-Powered Analysis
Technical Analysis
CVE-2025-54075 is a high-severity stored cross-site scripting (XSS) vulnerability affecting versions of the @nuxtjs/mdc module prior to 0.17.2. MDC is a tool designed to convert Markdown documents into interactive content by deeply integrating with Vue components. The vulnerability arises from improper neutralization of input during web page generation, specifically allowing a Markdown author to inject a <base href="https://attacker.tld"> HTML element. The <base> tag modifies the resolution of all subsequent relative URLs on the page, enabling an attacker to redirect resource loading (scripts, stylesheets, images) to an attacker-controlled domain. This can lead to execution of arbitrary JavaScript within the context of the vulnerable site, compromising confidentiality, integrity, and availability of the web application and its users. The vulnerability requires no authentication or user interaction and can be exploited remotely by submitting malicious Markdown content that is rendered by the vulnerable module. The CVSS v3.1 score of 8.3 reflects the network attack vector, low attack complexity, no privileges or user interaction required, and a scope change that affects resources beyond the vulnerable component. Although no known exploits are currently reported in the wild, the nature of the vulnerability and its ease of exploitation make it a significant risk. The issue was addressed in version 0.17.2 of the @nuxtjs/mdc module by properly sanitizing or restricting the injection of <base> elements in Markdown content, preventing attackers from manipulating resource loading and script execution.
Potential Impact
For European organizations, this vulnerability poses a serious threat especially to those using the @nuxtjs/mdc module in their web applications or documentation platforms. Exploitation could lead to unauthorized script execution, enabling attackers to steal sensitive user data such as authentication tokens, perform actions on behalf of users, or deliver further malware payloads. This can result in data breaches, reputational damage, regulatory non-compliance (e.g., GDPR violations), and service disruption. Since the vulnerability affects the rendering of Markdown content, any system that allows user-generated or third-party Markdown input without strict validation is at risk. Attackers could leverage this to target internal tools, customer-facing portals, or developer documentation sites. The ability to manipulate the <base> tag also increases the attack surface by redirecting resource loading, potentially bypassing content security policies or other defenses. Given the widespread use of Vue.js and Nuxt.js frameworks in Europe, especially in technology, finance, and government sectors, the impact could be significant if not promptly mitigated.
Mitigation Recommendations
European organizations should immediately upgrade the @nuxtjs/mdc module to version 0.17.2 or later to apply the official fix. Additionally, they should audit all systems that render Markdown content to ensure no untrusted input can inject HTML elements like <base>. Implement strict input validation and sanitization on Markdown inputs, possibly using a whitelist approach to allowed tags and attributes. Employ Content Security Policy (CSP) headers that restrict script and resource loading to trusted domains, mitigating the impact of any injected malicious URLs. Regularly review and monitor logs for unusual requests or content submissions that could indicate exploitation attempts. For internal tools, consider restricting Markdown editing permissions to trusted users only. Finally, conduct security awareness training for developers and content authors about the risks of injecting raw HTML in Markdown and the importance of using updated libraries.
For access to advanced analysis and higher rate limits, contact root@offseq.com
Technical Details
- Data Version
- 5.1
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2025-07-16T13:22:18.205Z
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 687a6fc6a83201eaacf4f8b1
Added to database: 7/18/2025, 4:01:10 PM
Last enriched: 7/26/2025, 12:53:00 AM
Last updated: 9/3/2025, 4:57:12 AM
Views: 25
Related Threats
CVE-2025-1740: CWE-307 Improper Restriction of Excessive Authentication Attempts in Akinsoft MyRezzta
CriticalCVE-2025-2415: CWE-307 Improper Restriction of Excessive Authentication Attempts in Akinsoft MyRezzta
HighCVE-2025-9219: CWE-862 Missing Authorization in saadiqbal Post SMTP – WP SMTP Plugin with Email Logs and Mobile App for Failure Notifications – Gmail SMTP, Office 365, Brevo, Mailgun, Amazon SES and more
MediumCVE-2025-9817: CWE-476: NULL Pointer Dereference in Wireshark Foundation Wireshark
HighCVE-2025-8663: CWE-532 Insertion of Sensitive Information into Log File in upKeeper Solutions upKeeper Manager
HighActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.