Cache poisoning in Nuxt OG Image via unsigned image routes
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- —
- Confidentiality · integrity · availability
- None · Low · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub.
Summary
The nuxt-modules og-image package and the npm package nuxt-og-image are affected from 6.2.5 before 6.7.0. The dynamic image route accepts unsigned requests and derives cache keys from request data, so untrusted input is accepted together with trusted data (CWE-349). An unauthenticated remote attacker can supply image data through the title parameter with a derived cache key, fill the cache slot used for a legitimate Open Graph image, and cause spoofed image content to be served to users.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
Nuxt OG Image generates OG Images with Vue templates in Nuxt. From 6.2.5 until 6.7.0, the dynamic /_og/d/*.png route accepts unsigned requests while resolvePathCacheKey() produces cache keys from the request path, site URL, and normalized rendering options exposed through image URLs and server responses. An unauthenticated attacker can provide attacker-controlled image data through the title parameter together with a derived cacheKey and populate the cache slot used for a legitimate Open Graph image, causing spoofed image content to be served to users. This issue is fixed in version 6.7.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- 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 | og-image | 6.2.5 to before 6.7.0 | 6.7.0 | Patch available | CNA |
| — | nuxt-og-image (npm) | 6.2.5 to before 6.7.0 | 6.7.0 | Patch available | GHSA-2x6f-rp82-ppmj |
- og-image Vendornuxt-modules Affected 6.2.5 to before 6.7.0 Fixed in 6.7.0 Patch available CNA
- nuxt-og-image (npm) Vendor— Affected 6.2.5 to before 6.7.0 Fixed in 6.7.0 Patch available GHSA-2x6f-rp82-ppmj
Remediation
Upgrade nuxt-modules og-image and nuxt-og-image to version 6.7.0.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
- Fix · CNA og-image (nuxt-modules) Fixed in 6.7.0
- Fix · GHSA-2x6f-rp82-ppmj nuxt-og-image (npm) Fixed in 6.7.0 Advisory →
Vendor assessments
Timeline
- 2026-10-16 Threatist record created from CVE-2026-102527
- 2026-10-16 Alias added: GHSA-2x6f-rp82-ppmj
- 2026-10-16 Priority changed: MEDIUM → LOW
- 2026-10-16 CISA SSVC decision points changed
- 2026-11-06 Affected versions changed · Red Hat
- 2026-11-06 CVSS score added · Red Hat
References
Other 5
- https://github.com/nuxt-modules/og-image/security/advisories/GHSA-2x6f-rp82-ppmj
- https://github.com/nuxt-modules/og-image/pull/638
- https://github.com/nuxt-modules/og-image/commit/e6c5b53ce7f434ab8cbc91298dccfb2b515c56a5
- https://github.com/nuxt-modules/og-image/releases/tag/v6.7.0
- https://github.com/nuxt-modules/og-image
More nuxt-modules vulnerabilities
- TI-2025-18659 Parsed HTML anchor links in Markdown provided to parseMarkdown can result in XSS in @nuxtjs/mdc CVSS 3.1CRITICAL 9.3
- 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-32501 nuxt-og-image SSRF — bypass of GHSA-pqhr-mp3f-hrpp / v6.2.5 fix (IPv6 + redirect) CVSS 3.1LOW 3.7
Sources
- CVE-2026-102527 · CVE Program
- CVE-2026-102527 · NVD
- FIRST EPSS
- GHSA-2x6f-rp82-ppmj · GitHub Advisory Database · CC BY 4.0
- CVE-2026-102527 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences