CVE-2026-94545:
JavaScript 취약성 분석 및 완화
개요
CVE-2026-94545 is an improper escaping vulnerability in Satori (the SVG rendering library underlying Next.js ImageResponse) that allows attacker-controlled values to be injected into generated SVG output. When ImageResponse runs on the Node.js runtime in Next.js versions 16.2.0 through 16.3.5, passing attacker-controlled content (e.g., URL-derived text) into SVG content, attributes, or styles can enable server-side code execution. The vulnerability affects the satori npm package versions ≥ 0.0.27 and < 0.33.5. It carries a CVSS v4 base score of 5.3 (Moderate) for the Satori advisory itself, though the Feedly threat intelligence estimates the overall severity as HIGH when considering the RCE potential in the Next.js context (GitHub Advisory, Feedly).
기술적 세부 사항
The root cause is improper output escaping (related to CWE-116: Improper Encoding or Escaping of Output) in the Satori library, which generates SVG markup without adequately sanitizing user-supplied values before embedding them. When Next.js ImageResponse renders dynamic content derived from attacker-controlled input (such as URL path segments or query parameters), the unescaped values are interpreted as SVG markup rather than literal text. On the Node.js runtime, this SVG injection can escalate to server-side code execution because the SVG rendering context has access to server resources. The attack requires that the application passes externally-controlled data into ImageResponse content, attributes, or styles without prior sanitization (GitHub Advisory, The Hacker News).
영향
Successful exploitation can result in server-side code execution on the Node.js runtime hosting the Next.js application, leading to full compromise of the server's confidentiality and integrity. An attacker could exfiltrate sensitive environment variables, secrets, or application data, and potentially pivot to other internal systems accessible from the server. Availability may also be impacted if the attacker chooses to disrupt the service. The vulnerability only affects applications that render attacker-controlled content via ImageResponse on the Node.js runtime; edge runtime deployments are not impacted in the same way (GitHub Advisory, Security Online).
악용 가능성
As of the time of reporting, CVE-2026-94545 is listed as "Reserved" in the CVE database, and no confirmed in-the-wild exploitation has been documented. A Sploitus entry referencing the CVE has been observed, suggesting early-stage exploit tracking or PoC interest in the community (Sploitus). The vulnerability requires the application to pass attacker-controlled input into ImageResponse, which is a common pattern in Next.js OG image generation routes, making a broad attack surface plausible. No CISA KEV listing or threat actor attribution has been identified at this time (Feedly, GitHub Advisory).
착취 단계
- Reconnaissance: Identify Next.js applications (versions 16.2.0–16.3.5) running on the Node.js runtime that expose OG image generation endpoints (e.g.,
/api/ogor similar routes usingImageResponse). Tools like Shodan, Censys, or passive DNS can help identify targets. - Identify injectable parameters: Analyze the target endpoint to determine which URL-derived inputs (path segments, query parameters, headers) are passed into
ImageResponsecontent, attributes, or styles without sanitization. - Craft SVG injection payload: Construct a malicious input string containing SVG markup or attributes that break out of the intended text context. For example, injecting
</text><script>...</script>or similar SVG-valid constructs into a text field rendered by Satori. - Escalate to code execution: Leverage the SVG injection to trigger server-side processing that results in code execution within the Node.js runtime context, potentially using SVG features or Satori rendering quirks that invoke server-side functionality.
- Achieve objective: Execute arbitrary commands on the server to exfiltrate environment variables, secrets, or establish persistence (GitHub Advisory, The Hacker News).
타협의 징후
- Network: Unusual outbound connections from the Next.js server process to external IPs following requests to OG image generation endpoints; HTTP requests to
/api/ogor similar routes containing SVG markup characters (<,>,</,/>) in query parameters or path segments. - Logs: Web server access logs showing requests to image generation endpoints with URL-encoded SVG payloads (e.g.,
%3C,%3E,%2F); application error logs referencing unexpected SVG parsing or rendering exceptions in Satori. - Process: Unexpected child processes spawned by the Node.js server process (e.g.,
sh,bash,curl,wget); unusual file writes or network connections initiated by the Next.js application process. - File System: New or modified files in the application directory or
/tmpcreated by the Node.js process; unexpected scripts or binaries dropped by the server process.
완화 및 해결 방법
Upgrade the satori npm package to version 0.33.5 or later, which contains the fix for improper SVG escaping. For Next.js users, upgrading to a version that bundles the patched Satori release is recommended. As an interim workaround, applications should sanitize or reject all attacker-controlled input before passing it into ImageResponse — do not render URL-derived text, query parameters, or other external data directly in ImageResponse content, attributes, or styles. No complete workaround exists besides upgrading or removing attacker-controlled content from ImageResponse rendering (GitHub Advisory, Netlify Changelog).
커뮤니티 반응
The vulnerability was disclosed on September 22, 2026, and quickly attracted coverage from The Hacker News and Security Online, highlighting the RCE potential in Next.js applications (The Hacker News, Security Online). Netlify published a changelog entry addressing the issue for their platform (Netlify Changelog). Community discussion was noted on Infosec.exchange and Telegram channels, reflecting broad awareness among security practitioners (Infosec.exchange). The advisory credits researchers RaghavMaheshwari124 and rafabd1 as finders (GitHub Advisory).
추가 자료
근원: 이 보고서는 AI를 사용하여 생성되었습니다.
관련 JavaScript 취약점:
무료 취약성 평가
클라우드 보안 태세를 벤치마킹합니다
9개의 보안 도메인에서 클라우드 보안 관행을 평가하여 위험 수준을 벤치마킹하고 방어의 허점을 식별합니다.
추가 Wiz 리소스
맞춤형 데모 받기
맞춤형 데모 신청하기
"내가 본 최고의 사용자 경험은 클라우드 워크로드에 대한 완전한 가시성을 제공합니다."
"Wiz는 클라우드 환경에서 무슨 일이 일어나고 있는지 볼 수 있는 단일 창을 제공합니다."
"우리는 Wiz가 무언가를 중요한 것으로 식별하면 실제로 중요하다는 것을 알고 있습니다."