🇰🇷 한글 설명
Angular의 @angular/common HttpTransferCache에서 SSR 및 하이드레이션 사용 시 인증된 응답을 캐싱하는 취약점이 발견되었습니다. 공격자는 CDN이나 리버스 프록시를 통해 캐싱된 HTML을 탈취하여 이전 사용자의 민감한 데이터를 확인할 수 있습니다. 이 문제는 20.3.28, 21.2.20, 22.1.1 버전에서 수정되었습니다.
💡 쉬운 설명
로그인한 사용자의 개인 정보가 포함된 웹 페이지가 서버에 잘못 저장되어, 다른 사람이 접속했을 때 그 정보를 볼 수 있는 보안 결함입니다. 웹사이트가 개인 정보를 안전하게 분리하지 못하고 공용 저장소에 남겨두는 것이 문제입니다.
🇺🇸 원문 (English)
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 20.3.28, 21.2.20, and 22.1.1, Angular's @angular/common HttpTransferCache can cache an authenticated response when Server-Side Rendering (SSR) and hydration use a hierarchical HttpClient configured with withRequestsMadeViaParent. The child TransferCache evaluates an initially anonymous request before delegation, then a parent withInterceptors chain adds an Authorization header, cookie, or API token; although the parent cache skips the authenticated request, the child still stores the private response in TransferState serialized as JSON in the ng-state script. Exploitation requires provideClientHydration, child provideHttpClient delegation through withRequestsMadeViaParent, parent-level credential injection, and an SSR HTML response shared across users by a CDN, reverse proxy, or application cache. A later unauthenticated or unauthorized visitor can receive the cached HTML containing the earlier authenticated user's sensitive response data. Applications can mitigate by attaching credentials at the child, filtering sensitive endpoints with withHttpTransferCacheOptions, disabling transfer caching for sensitive routes, or marking personalized HTML private or no-store. This issue is fixed in versions 20.3.28, 21.2.20, and 22.1.1.
📍 영향받는 시스템
Angular versions prior to 20.3.28, 21.2.20, and 22.1.1
⚔️ 공격 벡터
SSR 환경에서 인증된 응답이 TransferState로 직렬화되어 캐시된 HTML에 포함되고, 이를 CDN이나 프록시가 공유하는 방식
🛡️ 대응 방법
Angular를 최신 패치 버전(20.3.28, 21.2.20, 22.1.1 이상)으로 업데이트하거나 민감한 경로의 캐싱을 비활성화하십시오.
🔧 검증 코드
출력된 @angular/common의 버전이 취약한 버전 범위에 해당하는지 확인합니다.
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:N
💻 영향받는 소프트웨어
IBM WebSphere Application Server