🔍 CVE-2026-111754

5.1
CVSS Score
MEDIUM
2026-11-03
2026-11-03 22:17
✅ 완료

🇰🇷 한글 설명

Angular의 서버사이드 렌더링(SSR) 모듈인 ServerPlatformLocation에서 WHATWG URL 정규화 이전에 프로토콜 상대 URL을 검사하여, 점 세그먼트와 다중 슬래시를 포함한 요청 경로로 이 검사를 우회할 수 있습니다. 이로 인해 HTTP Location 헤더에 두 개의 슬래시로 시작하는 경로가 삽입되어 브라우저가 공격자가 지정한 외부 사이트로 리다이렉트될 수 있습니다. 순수 클라이언트 측 SPA는 영향을 받지 않으며, 20.3.33, 21.2.25, 22.2.1 버전에서 수정되었습니다.

💡 쉬운 설명

Angular로 만든 웹사이트의 서버 렌더링 기능에 결함이 있어, 공격자가 특수하게 조작한 주소로 사용자를 악성 사이트로 몰래 보낼 수 있습니다. 수정된 버전으로 업데이트하면 이 문제를 막을 수 있습니다.

🇺🇸 원문 (English)

Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 20.3.33, 21.2.25, and 22.2.1, ServerPlatformLocation in Angular server-side rendering checks for protocol-relative URLs before WHATWG URL normalization. A request path containing a popping dot segment followed by multiple slashes can bypass the raw resolveUrl check and normalize to a pathname beginning with two slashes. When Angular SSR detects a mismatch with the router's final location, it can place that pathname in an HTTP Location header, causing a browser to navigate to an attacker-controlled origin. Affected applications use @angular/platform-server and @angular/ssr and either expose compatible parameter or child route shapes or pass user-controlled navigation targets through infrastructure that preserves the relevant dot segments or semicolons. Pure client-side SPAs are not affected. This issue is fixed in versions 20.3.33, 21.2.25, and 22.2.1.

📍 영향받는 시스템

@angular/platform-server 및 @angular/ssr을 사용하며 20.3.33, 21.2.25, 22.2.1 미만 버전을 쓰는 Angular SSR 애플리케이션

⚔️ 공격 벡터

점 세그먼트와 여러 슬래시를 포함한 조작된 URL 경로로 SSR의 프로토콜 상대 URL 검사를 우회해 Location 헤더를 통한 외부 사이트 오픈 리다이렉트 유발

🛡️ 대응 방법

@angular/platform-server와 @angular/ssr을 20.3.33, 21.2.25, 22.2.1 이상 버전으로 업데이트

🔧 검증 코드

출력된 버전이 20.3.33, 21.2.25, 22.2.1 이상이면 패치된 상태이며, 그보다 낮은 버전이 표시되면 취약하므로 업데이트가 필요합니다.

Shell / Script
npm ls @angular/platform-server @angular/ssr 2>/dev/null | grep -E 'platform-server|ssr'

📊 CVSS Vector String

CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N