jQuery JavaScript library flaw opens the doors for attacks on hundreds of millions of websites
인기 있는 jQuery 자바 스크립트 라이브러리에서 공격자가 자바스크립트 객체(Object)의 프로토타입 변조를 허용할 수 있는 ‘프로토타입 오염(Prototype pollution)’ 결함이 발견되었습니다.
jQuery 자바스크립트 라이브러리는 현재 온라인 전체 웹사이트 중 74%에 사용되고 있습니다.
<이미지 출처: https://w3techs.com/technologies/details/js-jquery/all/all>
사이트 대부분이 ‘프로토타입 오염’ 결점에 취약한 라이브러리 1.x와 2.x 버전을 사용하고 있었습니다.
<이미지 출처: https://w3techs.com/technologies/details/js-jquery/all/all>
해당 라이브러리는 금주 이 문제를 수정하기 위한 보안 패치를 발표했습니다. 이는 해당 코드에서 주요 보안 취약점이 발견된 지 3년 만입니다.
자바스크립트 객체는 미리 정의된 구조를 기반으로 여러 값을 저장하는 데 사용할 수 있는 변수와 같습니다.
프로토타입은 자바스크립트 객체의 기본 구조와 기본값을 정의하는데 사용되며, 값이 설정되지 않았을 때에는 구조를 지정하는데 필수적입니다.
공격자는 예상된 값을 받지 못할 경우 어플리케이션을 충돌시키고 동작을 변경할 수 있게 됩니다.
자바 스크립트의 사용 현황을 감안할 때, 프로토타입 오염 결함 악용은 웹 어플리케이션에 심각한 영향을 미칠 것입니다.
jQuery 라이브러리에 존재하는 이 취약점(CVE-2019-11358)은 Snyk의 연구원들이 발견했으며, 프로토타입 오염 공격의 PoC 코드도 공개되었습니다.
이 보안 취약점은 프로토타입 오염을 나타내며, 공격자들이 자바 스크립트 어플리케이션 객체 프로토타입을 덮어쓰기가 가능하도록 허용합니다.
이 같은 일이 발생할 경우, 공격자가 제어하는 속성은 객체에 주입됩니다.
그리고 자바 스크립트 예외를 트리거 해 서비스 거부(DoS)를 유발하거나 공격자가 삽입하는 코드 경로를 강제로 변조할 수 있습니다.
전문가들은 공격자들이 이 취약점을 악용할 경우 jQuery 라이브러리 코드를 사용하는 웹 앱에서 관리자 권한을 부여받을 수 있다는 것을 시연해 보였습니다.
전문가에 따르면, 다행히도 이 프로토타입 오염 문제는 대규모 공격에서 악용이 불가능한 것으로 나타났습니다.
익스플로잇 코드가 타깃에 따라 다르게 작성되어야 하기 때문입니다.
어플리케이션에 jQuery 자바스크립트 라이브러리를 사용하는 웹 개발자들은 최신 버전인 jQuery 3.4.0으로 업데이트할 것을 권고 드립니다.
jQuery 팀은 블로그를 통해 jQuery 3.4.0은 jQuery.extend (true, {}, …)를 사용할 때 발생하는 의도치 않은 행동들에 대한 수정사항이 포함되어 있다고 밝혔습니다.
검사하지 않은 소스 객체가 열거 가능한 __proto__ 속성을 포함하고 있을 경우, 이는 기존의 Object.prototype을 확장시킬 수 있습니다.
이 수정사항은 jQuery 3.4.0에 포함되어 있으나, 이전 jQuery 버전을 패치하기 위한 patch diffs도 있다고 언급했습니다.
출처:
https://securityaffairs.co/wordpress/84340/hacking/jquery-javascript-library-flaw.html
GitHub 서비스, 피싱 키트 호스팅에 악용돼 (0) | 2019.04.26 |
---|---|
오라클 WebLogic에서 제로데이 취약점 발견 (0) | 2019.04.25 |
해커, 프랑스 정부의 보안 메시징 앱 'Tchap'에 침투 성공해 (0) | 2019.04.23 |
링크드인 사용자의 기록 6천만 건, 온라인에 노출돼 (0) | 2019.04.22 |
Sea Turtle 해킹 그룹, 피싱 페이지로 웹 방문자들 유도 (0) | 2019.04.18 |
댓글 영역