NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
📦
📦 npm
Not in CISA KEV
MEDIUM severity

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

MEDIUM

GHSA-mg36-wvcr-m75h is a medium-severity (CVSS 6.1) Cross-site Scripting (XSS) vulnerability in nuxt-og-image. A fix is available for nuxt-og-image — see the affected versions and patch details below.

Also known asCVE-2026-34405
Published
Updated
Affected
1 pkg
Patched
1 / 1
Exploits
None indexed
Exploitation data as of Nov 2, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

Exploitation Status

Proof-of-concept exploit code exists

  • CISA’s SSVC triage found public proof-of-concept exploit code for this CVE, though no confirmed active exploitation.

Exploitation and automatability from CISA’s SSVC triage for GHSA-mg36-wvcr-m75h.

EPSS Exploitation Probability

via FIRST.org ↗
0.2%probability of exploitation in next 30 days
Lower Risk0.00%
Lower risk than most CVEs13th percentile — riskier than 13% of all scored CVEsHighest risk
0.00%0.25%0.51%0.76%0.0%0.2%May 26Sep 26Nov 26

Probability of exploitation in the next 30 days, from FIRST.org EPSS.

How urgent is this, really

Where this sits among everything scored

Real-World Exposure

1 pkg affected

How broadly this vulnerability is actually deployed: weekly install volume shows current usage, and reverse-dependency count shows how many other packages break if it stays unpatched.

43other npm packages depend on this — each one inherits the vulnerability until it's patched upstream
nuxt-og-imagenpm
235Kdownloads / week

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 <img width="974" height="670" alt="image" src="https://github.com/user-attachments/assets/d442c235-71a5-4da9-a963-8cf4b8614745" />

Figure 2. JavaScript code execution <img width="974" height="291" alt="image" src="https://github.com/user-attachments/assets/01579f19-8e80-4fae-8516-5903370ee6d8" />

Credits

Researcher: Dmitry Prokhorov (Positive Technologies)

Affected Packages

1 total 1 fixed
EcosystemPackageVulnerable rangeFix
📦npmnuxt-og-imageall versions6.2.5npm install nuxt-og-image@6.2.5

Affected Products

1 product · 1 configurations
Application
og imagenuxt
< 6.2.5
range

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for nuxt-og-image, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update nuxt-og-image to 6.2.5 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-mg36-wvcr-m75h is resolved across your whole dependency graph.

  3. Workarounds

    Stop passing untrusted input into the interpreter or shell: call the affected binary with an argument array rather than a composed command string, reject anything outside a strict allowlist of expected values, and run the component under an account that cannot reach beyond the work it legitimately does.

Frequently Asked Questions

**Product:** Nuxt OG Image **Version:** 6.1.2 **CWE-ID:** [CWE-79](https://cwe.mitre.org/data/definitions/79.html): 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 ana
O3 Security · Impact-Aware SCA

Is GHSA-mg36-wvcr-m75h in your dependencies?

Find it across npm, including transitive dependencies.

Nuxt OG Image is vulnerable to reflected XSS via query…