Product: Nuxt OG Image Version: < 6.2.5 CWE-ID: CWE-918: Server-Side Request Forgery
The image generation endpoint (/_og/d/) accepts user-controlled parameters that are passed to the server-side renderer without proper validation or filtering. An attacker can trigger server-side requests to internal network addresses through multiple vectors.
Three distinct vectors were identified, all exploiting the same underlying lack of URL validation:
background-image injection via style parameterGET /_og/d/og.png?style=background-image:+url('http://127.0.0.1:8888/secret')
<img src> injection via html parameterGET /_og/d/og.png?html=<img src="http://127.0.0.1:8888/secret">
When verbose errors are enabled, the response content is leaked in base64-encoded error messages.
<image href> injection via html parameterGET /_og/d/og.png?html=<svg><image href="http://127.0.0.1:8888/secret"></svg>
Fixed in v6.2.5. The image source plugin now blocks requests to private IP ranges (IPv4/IPv6), loopback addresses, link-local addresses, and cloud metadata endpoints. Decimal/hexadecimal IP encoding bypasses are also handled.
Researcher: Dmitry Prokhorov (Positive Technologies)
{
"github_reviewed": true,
"github_reviewed_at": "2026-03-31T23:26:29Z",
"cwe_ids": [
"CWE-918"
],
"severity": "MODERATE",
"nvd_published_at": null
}