🔍 CVE-2026-88060

6.1
CVSS Score
MEDIUM
2026-09-10
2026-09-29 18:44
✅ 완료

🇰🇷 한글 설명

Angular의 서버 사이드 렌더링(SSR) 과정에서 noscript, iframe 등 특정 fallback 요소 내의 신뢰할 수 없는 입력을 적절히 이스케이프하지 못하는 취약점이 발견되었습니다. 공격자가 조작된 닫기 태그를 삽입할 경우 브라우저가 이를 활성 DOM 요소로 해석하여 임의의 자바스크립트를 실행할 수 있습니다. 이 문제는 Angular 20.3.30, 21.2.22, 22.1.4 버전에서 수정되었습니다.

💡 쉬운 설명

웹사이트가 서버에서 화면을 미리 만들 때, 특정 태그 안에 들어있는 위험한 코드를 제대로 걸러내지 못하는 문제입니다. 이를 통해 해커가 사용자의 브라우저에서 몰래 악성 코드를 실행할 수 있습니다.

🇺🇸 원문 (English)

Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 20.3.30, 21.2.22, and 22.1.4, Angular server-side rendering (SSR) in @angular/platform-server serializes untrusted input inside template content nested in fallback raw-content elements such as noscript, iframe, noembed, and noframes. The Domino serializer's fallbackRawContentTags traversal stopped at the DocumentFragment used by template.content, so matching closing tags in xmp, style, script, comments, or text nodes were not escaped. Standard interpolation with comments or text nodes is reachable without relaxed schemas; literal xmp or style requires CUSTOM_ELEMENTS_SCHEMA or NO_ERRORS_SCHEMA, while Renderer2 imperative DOM construction is unconditionally affected. When HTML5 RAWTEXT browser parsing encounters the unescaped closing tag, it exits the fallback container and interprets trailing markup as active DOM elements, enabling arbitrary JavaScript execution. This issue is fixed in versions 20.3.30, 21.2.22, and 22.1.4.

📍 영향받는 시스템

@angular/platform-server (20.3.30, 21.2.22, 22.1.4 미만 버전)

⚔️ 공격 벡터

SSR 템플릿 내 noscript, iframe 등 fallback 요소에 조작된 HTML 닫기 태그를 삽입하여 XSS 공격 수행

🛡️ 대응 방법

Angular 프레임워크를 최신 보안 패치 버전(20.3.30, 21.2.22, 22.1.4 이상)으로 업데이트

🔧 검증 코드

출력된 버전이 취약점이 해결된 버전(20.3.30, 21.2.22, 22.1.4 이상)인지 확인

Shell / Script
npm list @angular/platform-server

📊 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