CVE-2020-11023

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

재현 단계

This Medium level exploit is related to CVE-2020-11022; it can be found in jQuery versions greater than or equal to 1.0.3 and before 3.5.0. Instead of being concerned with general HTML (which CVE-2020-11022 handles), this problem may occur when passing HTML containing <option> elements, even after sanitizing it, to one of jQuery's DOM manipulation methods (i.e. .html(), .append(), and others). With input not correctly sanitized, these methods may execute untrusted code.

문제 해결

클라이언트는 철저한 테스트 후 즉시 jQuery 3.5.0으로 업데이트해야 합니다. 3.5.0에서는 jQuery.htmlPrefilter()에 사용되는 위생 처리 방법이 변경되었으며 위생 처리 기능이 예기치 않은 결과를 생성할 수 있는 에지 케이스가 있기 때문에 광범위한 테스트가 필요합니다. 이전 동작이 반드시 필요한 경우 jQuery 3.5.0 릴리스 블로그에서 이전 로직을 안전한 방식으로 사용하는 방법을 설명합니다.

학습 및 예방

Sanitizing untrusted data before using or storing it is a security best practice for good reason: it is a common vector for breaking code. In this case, the error was found in the code designed to sanitize the data that specifically included <option> elements.

일반적으로 내장된 위생 처리 방법을 사용하는 것으로 충분합니다. 그러나 버전 3.5.0에서 새로운 살균 방법을 사용하더라도 jQuery 팀은 추가 살균을 위해 DOMPurify 라이브러리를 사용하고 SAFE_FOR_JQUERY 옵션을 반드시 사용할 것을 권장합니다. DOMPurify는 크로스 사이트 스크립팅(XSS) 익스플로잇을 방지하도록 특별히 설계된 매우 인기 있고 구성이 가능한 라이브러리입니다.

결론

사이트에 가장 안전한 자바스크립트 프레임워크를 제공하기 위해 히어로데브스 NES 클라이언트는 이 버전의 jQuery와 수정된 기타 모든 관련 CVE를 받습니다.

이 수정은 CVE-2020-11023에 설명된 잠재적인 보안 허점을 직접적으로 수정합니다. 이와 같은 보안 업데이트에 대한 최신 정보를 받으려면 지금 바로 고객으로 등록하세요.

리소스