GitHub Advisoryadvisory · npm

GHSA-mg36-wvcr-m75h Nuxt OG Image is vulnerable to reflected XSS via query parameter injection into HTML attributes

MEDIUM Published 2026-03-31 Modified 2026-04-06 Official page ↗
Aliases
CVE-2026-34405
Ecosystem
npm
Packages
nuxt-og-image
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weaknesses
CWE-79
Reviewed
2026-03-31

Affected packages

• npm nuxt-og-image: < 6.2.5 → fixed in 6.2.5

Description

Product: Nuxt OG Image Version: 6.1.2 CWE-ID: CWE-79: Improper Neutralization of Input During Web Page Generation Description: Incorrect parsing of GET parameters leads to the possibility of HTML injection and JavaScript code injection. Impact: Client-Side JavaScript Execution Exploitation condition: An external user Mitigation: Correct the logic of parsing GET parameters and their subsequent implementation into the generated page. Researcher: Dmitry Prokhorov (Positive Technologies) Research During the analysis of the nuxt-og-image package, which is shipped with the nuxt-seo package, a zero‑day vulnerability was discovered. This research revealed that the image‑generation component by the URI: `/_og/d/` (and, in older versions, `/og-image/`) contains a vulnerability that allows injection of arbitrary attributes into the HTML page body. The vulnerability was reproduced using the standard configuration and the default templates. _Listing 1. The content of the configuration file `nuxt.config.ts`_ ``` export default defineNuxtConfig({ modules: ['nuxt-og-image'], devServer: { host: 'web-test.local', port: 3000 }, site: { url: 'http://web-test.local:3000', }, ogImage: { fonts: [ 'Inter:400', 'Inter:700' ], } }) ``` Vulnerability reproduction To demonstrate the proof‑of‑concept, follow the URI: `/_og/d/og.html?width=1000&height=1000&onmouseover=alert(document.cookie)&autofocus` The injected parameters `onmouseover=alert(document.cookie)` and `autofocus` are treated as attributes and are inserted directly into the generated HTML page. _Listing 2. HTTP-request example_ ``` GET /_og/d/og.html?width=1000&height=1000&onmouseover=alert(document.cookie) HTTP/1.1 Host: web-test.local:3000 ``` _Figure 1. The injected attribute in the HTML body_ _Figure 2. JavaScript code execution_ Credits Researcher: Dmitry Prokhorov (Positive Technologies)

Related

Alias · CVE (1)

  • CVE-2026-34405 Nuxt OG Image generates OG Images with Vue templates in Nuxt. vulnerability

Weakness · CWE (1)

  • CWE-79 Improper Neutralization of Input During Web Page Generation weakness

References