기록하는 공부
[IT/보안 뉴스] 유명 워드프레스 플러그인 닌자폼즈, 취약점 3개 발견돼 본문
기사 요약
보안 블로그 시큐리티어페어즈에 의하면 인기 높은 워드프레스 플러그인인 닌자폼즈(Ninja Forms)에서 세 가지 취약점이 발견됐고, 현재 90만 개 이상의 웹사이트들이 취약점에 노출되어 있는 상황이라고 한다. 이 취약점들은 CVE-2023-37979, CVE-2023-38386, CVE-2023-38393이며, 권한 상승과 민감 정보 유출을 가능하게 한다. 닌자폼즈 개발사 측은 3.6.26 버전을 새롭게 배포하며 사용자들에게 업데이트 설치를 권장하는 중이다.
리뷰
워드프레스란 웹사이트/홈페이지/쇼핑몰/블로그 제작 관련 오픈 소스 프로그램이다. 현재 전세계 웹사이트의 40% 이상이 워드프레스로 제작되어 있다고 한다.
이 워드프레스의 닌자폼즈는 서류 양식과 관련된 워드프레스 플러그인 중 인기가 1위인 플러그인이다.
이 닌자폼즈에서 취약점 3개가 나왔는데 CVE에 등록되어 있다고 해서 한번 찾아보게 되었다.
먼저, CVE-2023-37979에 대해 살펴보았다.
이 CVE는 닌자폼즈의 XSS에 관련된 내용이었다.
깃허브의 내용을 읽어보았는데 완벽하게 이해하진 못했지만 어느 정도 흐름은 예상은 되었다.
익스플로잇은 아래와 같이 작동한다.
전송된 매개변수의 유효성 검사가 부족하고 브라우저에 직접 표시되어 JS 코드를 실행할 수 있게 된다.
이때, nf_batch_process인 양식 템플릿을 로드해 보자.
위 템플릿을 요청했을 때, Include\/AJAX\REST\Controller.php 파일에서 method_override라는 매개변수가 POST 메서드를 통해 수신되는데, 이 매개변수의 값은 덮어써야 하는 클래스의 메서드의 이름이다.
다음으로 Includes\AJAX\REST\BatchProcess.php 파일의 get_request_data 함수에서 POST 메서드를 통해 data라는 매개변수를 찾았는데 이는 유효성 검증도 되지 않았고 요청 데이터에 존재하지도 않는다.
include\Abstracts\Controller.php 파일에서 data 매개변수를 입력한 _respond 메서드에서 유효성 검사 없이 화면에 출력된다.
마지막으로 템플릿 로드 요청에 data와 method_override 매개 변수를 추가하고 method_override 매개 변수를 사용해 _respond 메서드를 다시 작성하면 XSS 취약점이 발생하게 된다.
이해한 대로 정리해 보자면, 양식 템플릿을 요청했을 때, 오버라이드 매개변수와 데이터 매개변수에 임의의 값을 넣어도 유효성 검사를 하지 않아 그대로 화면에 출력될 수 있다는 내용 같다.
따라서, 인증되지 않은 사용자가 권한을 상승시켜 특수 제작된 웹 페이지를 방문하도록 해 정보를 훔치는 POST 기반의 XSS 결함이라는 것을 알 수 있었다.
그리고, CVE-2023-38386과 CVE-2023-38393에 대해 살펴보았다.
두 가지 취약점은 플러그인의 양식 제출 내보내기 기능에 대한 손상된 액세스 제어 결힘에서 발생하였다. 구독자 및 기여자 역할의 사용자는 결함을 악용하여 워드프레스 사이트에 제출된 모든 데이터를 내보낼 수 있다.
기사 출처
https://www.boannews.com/media/view.asp?idx=120681&page=1&kind=1
참고 자료
'정보보안 > IT 및 보안 뉴스' 카테고리의 다른 글
[IT/보안 이슈] 210321 내가 겪은 보안 이슈 - 제주항공 SITA 개인정보 유출 (0) | 2023.08.08 |
---|---|
[IT/보안 뉴스] 국정원 "공공기관 25곳 보안 미흡…15년전 윈도 쓰기도" (0) | 2023.07.25 |
[IT/보안 뉴스] '텔레그램' 링크 잘못 눌렀다가 계정 털린다…'해킹 주의보' (0) | 2023.07.25 |