CVE-2020-7676

사이트 간 스크립팅
영향
Angular JS
<1.8.0
in
AngularJS
패치 사용 가능
이 취약점은 HeroDevs에서 제공하는 네버엔딩 지원(NES) 버전에서 수정되었습니다.

재현 단계

This vulnerability can convert safe <option> tags that are surrounded by various other tags (particularly the <select> tag)  into unsafe ones, thereby opening the possibility of a Cross-Site Scripting (XSS) attack. The vulnerability is present in versions of the library prior to 1.8.0, specifically in the jqLite library.

문제 해결

1.8.0 이전 버전의 AngularJS를 사용하는 고객은 즉시 업그레이드해야 합니다.

이 수정 사항에는 이전 버전과의 호환성을 깨는 변경 사항이 포함되어 있으므로 이전 동작을 복원하는 새로운 메서드는 UNSAFE_restoreLegacyJqLiteXHTMLReplacement에서 찾을 수 있습니다. 임시 조치로 이 이전 버전과 호환되는 메서드를 사용하기로 선택한 경우 가능한 한 빨리 교체할 계획을 세우세요.

학습 및 예방

Although there are many ways in which an XSS attack can occur that are within the developer’s control, in this case, the problem was in the method that was used to help sanitize the code. The original code used in the library was able to take already-sanitized code and turn it into unsanitized code. Sanitized, in this case, means that the code had already been “escaped.” Escaping is the process of converting risky characters such as < to safer versions (&lt;  in the case). Since it’s not possible to know the order in which various sanitization functions are executed, this improper transformation could have occurred last—thereby rendering the code insecure.

결론

이 취약점에 설명된 수정 사항은 1.8.0에 포함되어 있으며, 아직 Angular 1.5를 사용 중인 HeroDevs AngularJS 네버엔딩 지원 고객도 즉시 사용할 수 있습니다. 잠재적으로 비용이 많이 드는 공격을 피하기 위한 지원을 받으려면 지금 바로 HeroDevs[TODO: 링크 삽입]에 문의하세요.

 히어로데브 네버엔딩 서포트 구독을 통해 안심하고 이용하고 싶다면 지금 바로 유니티 영업팀에 문의하세요.

리소스

NIST 2020-7676 항목