
CVE-2017-9841 detector script
CVE-2017-9841 탐지 스크립트 (Massimiliano Brasile 제작)
2020년 1월 6일, PrestaShop의 대부분 버전에 영향을 미치는 보안 문제에 대해 통보받았습니다 (이 경고는 2020년 1월 3일에 PS 팀에 의해 내부적으로만 공유되었습니다). 조사 결과, PHPUnit [1]이라는 테스트 프레임워크 라이브러리가 Prestashop 1.7에서 사용되는 일부 프로덕션 모듈에 우연히 포함되어 있어 문제가 발생한 것을 발견했습니다 (Prestashop API를 통해 또는 PrestaShop 설치 시 배포됨). PHPUnit의 문제는 CVE-2017-9841 [2] [3]로 지정되었지만, 현재 Prestashop에 대한 경고가 활성화되어 있는 이유는 이 문제를 정확히 스캔하는 봇 (XsamXadoo)이 적어도 하나 이상 있기 때문입니다 [4].
기술적으로 CVE-2017-9841은 phpunit/phpunit의 버그가 있는 버전을 사용하는 모든 애플리케이션에서 원격 코드 실행 가능성을 의미하며, 2020년 1월 8일에 또 다른 문제가 발견되었습니다 ( 4.8.28 이전 및 5.x의 5.6.3 이전 7.x의 경우 7.5.19 이전, 8.x의 경우 8.5.1 이전 버전 관련 [5] ). phpunit은 유명한 프레임워크이므로 주류 PHP CMS(Prestashop, Wordpress, Drupal 등)와 그 플러그인에 영향을 미치는 것으로 보이지만, 해당 CMS가 이를 사용하는 경우에만 해당됩니다. 이러한 백도어를 찾기 위해 웹 루트의 모든 하위 폴더에서 이 테스트 프레임워크가 포함되어 있는지 확인하는 것이 필수적입니다. 그래서 전체 과정을 가속화하기 위해 제가 담당하는 모든 Prestashop 또는 Wordpress 인스턴스를 제어하는 데 도움이 되는 이 작은 quick&dirty 스크립트를 작성했습니다.
PS 포럼 [4]에 따르면 다음 모듈을 확인해야 합니다:
하지만 제 테스트에서는 ps_facetedsearch v3.2.1 모듈에서도 발견했습니다. autoupgrade v4.9+에는 나타나지 않았습니다.
버그가 있는 phpunit 인스턴스가 발생한 경우, 가능하다면 상위 모듈을 업데이트하거나, 개발자의 지원이 부족한 경우 해당 모듈을 제거(폴더 삭제)하십시오. PS 포럼에 따르면 이 모듈 내의 모든 vendor 폴더를 완전히 제거해야 하지만 확인이 필요합니다!
[2] https://nvd.nist.gov/vuln/detail/CVE-2017-9841
[3] https://www.cvedetails.com/cve/CVE-2017-9841
[4] https://www.prestashop.com/forums/topic/1012095-hack-prestashop-avec-xsamxadoo-bot
[5] 아직 공식적이지 않습니다!! https://github.com/PrestaShop/PrestaShop/issues/17059#issuecomment-572114133 참고