GitHub Advisoryadvisory · npm
GHSA-mg36-wvcr-m75h Nuxt OG Image is vulnerable to reflected XSS via query parameter injection into HTML attributes
MEDIUM
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