🇰🇷 한글 설명
Angular SSR의 X-Forwarded-Prefix 헤더 처리 로직에서 URL 인코딩된 문자(%2e%2e)를 제대로 검증하지 못하는 취약점이 발견되었습니다. 공격자는 인코딩된 경로 탐색 시퀀스를 주입하여 보안 필터를 우회하고 애플리케이션 로직에 접근할 수 있습니다. 이 문제는 프록시 헤더를 신뢰하도록 설정된 환경에서 발생합니다.
💡 쉬운 설명
웹사이트의 주소를 처리하는 과정에서 특수 기호를 숨겨서 보내는 공격을 막지 못하는 결함입니다. 이를 통해 공격자가 원래 허용되지 않은 파일이나 경로에 몰래 접근할 수 있습니다.
🇺🇸 원문 (English)
The Angular SSR is a server-rise rendering tool for Angular applications. From 19.0.0-next.0 to before 19.2.25, 20.3.25, 21.2.9, and 22.0.0-next.7, a vulnerability exists in the X-Forwarded-Prefix header processing logic within Angular SSR. The internal validation mechanism fails to properly account for URL-encoded characters, specifically dots (%2e%2e). This allows an attacker to bypass security filters by injecting encoded path traversal sequences that are later decoded and utilized by the application logic.
When an Angular SSR application is configured to trust proxy headers and is deployed behind a proxy that forwards the X-Forwarded-Prefix header without prior sanitization, an attacker can provide a payload such as /%2e%2e/evil. This vulnerability is fixed in19.2.25, 20.3.25, 21.2.9, and 22.0.0-next.7.
📍 영향받는 시스템
Angular SSR 19.0.0-next.0 ~ 19.2.24, 20.3.24, 21.2.8, 22.0.0-next.6
⚔️ 공격 벡터
X-Forwarded-Prefix 헤더에 URL 인코딩된 경로 탐색 문자(/%2e%2e/)를 주입하여 보안 필터 우회
🛡️ 대응 방법
Angular SSR을 수정된 버전(19.2.25, 20.3.25, 21.2.9, 22.0.0-next.7 이상)으로 업데이트
🔧 검증 코드
출력된 @angular/ssr의 버전이 취약한 범위에 포함되는지 확인
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
💻 영향받는 소프트웨어
IBM WebSphere Application Server