🔍 CVE-2026-33397

6.1
CVSS Score
MEDIUM
2026-03-26
2026-06-17 10:37
✅ 완료

🇰🇷 한글 설명

Angular SSR의 @angular/ssr 패키지에서 CVE-2026-27738의 불완전한 수정으로 인해 Open Redirect 취약점이 발견되었습니다. 공격자가 X-Forwarded-Prefix 헤더에 단일 백슬래시(\)를 사용하여 검증을 우회하면, 브라우저가 이를 프로토콜 상대 URL로 해석하여 공격자가 제어하는 도메인으로 리다이렉트될 수 있으며 웹 캐시 포이즈닝 위험도 존재합니다.

💡 쉬운 설명

웹사이트의 주소 설정 오류를 이용해 사용자를 가짜 사이트로 몰아가는 공격입니다. 공격자가 특수 문자를 섞은 주소를 보내면 브라우저가 이를 정상적인 외부 사이트 주소로 착각하게 만듭니다.

🇺🇸 원문 (English)

The Angular SSR is a server-rise rendering tool for Angular applications. Versions on the 22.x branch prior to 22.0.0-next.2, the 21.x branch prior to 21.2.3, and the 20.x branch prior to 20.3.21 have an Open Redirect vulnerability in `@angular/ssr` due to an incomplete fix for CVE-2026-27738. While the original fix successfully blocked multiple leading slashes (e.g., `///`), the internal validation logic fails to account for a single backslash (`\`) bypass. When an Angular SSR application is deployed behind a proxy that passes the `X-Forwarded-Prefix` header, an attacker provides a value starting with a single backslash, the internal validation failed to flag the single backslash as invalid, the application prepends a leading forward slash, resulting in a `Location` header containing the URL, and modern browsers interpret the `/\` sequence as `//`, treating it as a protocol-relative URL and redirecting the user to the attacker-controlled domain. Furthermore, the response lacks the `Vary: X-Forwarded-Prefix` header, allowing the malicious redirect to be stored in intermediate caches (Web Cache Poisoning). Versions 22.0.0-next.2, 21.2.3, and 20.3.21 contain a patch. Until the patch is applied, developers should sanitize the `X-Forwarded-Prefix` header in their `server.ts` before the Angular engine processes the request.

📍 영향받는 시스템

@angular/ssr (22.x < 22.0.0-next.2, 21.x < 21.2.3, 20.x < 20.3.21)

⚔️ 공격 벡터

X-Forwarded-Prefix 헤더에 단일 백슬래시(\)를 삽입하여 검증을 우회한 후 리다이렉트 유도

🛡️ 대응 방법

패치된 버전(22.0.0-next.2, 21.2.3, 20.3.21 이상)으로 업데이트하거나 server.ts에서 해당 헤더를 직접 검증

🔧 검증 코드

출력된 @angular/ssr의 버전이 취약한 버전 범위에 포함되는지 확인합니다.

Shell / Script
npm list @angular/ssr

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

💻 영향받는 소프트웨어

IBM WebSphere Application Server