사이트에서 PHP 코드 사용을 용이하게 하는 널리 사용되는 플러그인의 치명적인 취약점으로 인해 수만 개의 WordPress 사이트가 위험에 처해 있습니다.
버그 중 하나는 모든 수준의 인증된 사용자(가입자와 고객 포함)가 플러그인이 설치된 사이트를 완전히 인수할 수 있는 코드를 실행할 수 있도록 하는 것으로 연구원들이 발견했습니다.
Wordfence Threat Intelligence의 연구원들은 화요일에 게시된 블로그 게시물 에서 30,000개 이상의 WordPress 사이트에 설치된 플러그인인 PHP Everywhere 에서 세 가지 중요한 취약점을 발견 했습니다. 플러그인은 이름에서 알 수 있는 대로 정확하게 수행하므로 WordPress 사이트 개발자는 페이지, 게시물 및 사이드바를 비롯한 사이트의 다양한 구성 요소에 PHP 코드를 넣을 수 있습니다.
Wordfence의 Ram Gall은 게시물에서 “이러한 취약점은 악용하기 매우 쉽고 사이트를 빠르고 완벽하게 인수하는 데 사용할 수 있습니다. Wordfence는 WordPress 웹 사이트에 대한 보안을 제공합니다.
세 가지 취약점은 Wordfence가 책임 있는 공개 프로세스를 통해 알린 후 플러그인 개발자가 수정한 플러그인의 기본 설정으로 인한 것입니다.
Wordfence 팀 은 1월 4일 PHP Everywhere의 빌더인 Alexander Fuchs 에게 이메일을 보냈고 거의 즉각적인 응답을 받았습니다. 그는 이후 1월 10일에 모든 문제를 해결하는 "대부분 재구축된 플러그인 버전"을 출시했다고 Gall은 썼습니다. Wordfence는 플러그인을 사용하는 WordPress 사이트의 모든 관리자에게 업데이트를 즉시 설치하도록 촉구합니다.
치명적인 취약점
가장 위험한 결함인 "Shortcode를 통한 Subscriber+ 사용자의 원격 코드 실행" 및 CVE-2022-24663 으로 추적되는 것은 플러그인에 WordPress 단축 코드를 통해 PHP 코드 스니펫을 실행할 수 있는 기능이 포함된 것과 관련이 있다고 연구원들은 밝혔습니다. 이 버그는 CVSS에서 9.9의 비판적 평가를 받았습니다.
"불행히도 WordPress는 인증된 모든 사용자가 parse-media-shortcode AJAX 작업을 통해 단축 코드를 실행할 수 있도록 허용하며 일부 플러그인은 인증되지 않은 단축 코드 실행도 허용합니다."라고 Gall은 게시물에 썼습니다. “그러므로 로그인한 모든 사용자, 심지어 구독자나 고객과 같이 권한이 거의 없는 사용자라도 [php_everywhere]< 임의의 PHP>[/php_everywhere].”
연구원들은 WordPress 사이트에서 이 임의의 PHP를 실행하면 일반적으로 "전체 사이트 인수"가 가능하다는 것을 발견했습니다.
다른 두 버그는 각각 CVE-2022-24664 및 CVE-2022-24665 로 추적됩니다 . Gall은 둘 다 단축 코드 취약점과 동일한 CVSS 점수를 얻었지만 연구원들은 이를 악용하려면 기여자 수준의 권한이 필요하기 때문에 심각도가 약간 낮은 것으로 간주했다고 설명했습니다.
전자의 "메타박스를 통한 Contributor+ 사용자의 원격 코드 실행"은 edit_posts 기능이 있는 모든 사용자가 PHP Everywhere 메타박스를 사용할 수 있도록 허용하는 PHP Everywhere의 기본 설정과 관련이 있습니다.
"불행히도 이것은 신뢰할 수 없는 기여자 수준의 사용자가 PHP Everywhere 메타박스를 사용하여 게시물을 만들고 PHP 코드를 PHP Everywhere 메타박스에 추가한 다음 게시물을 미리 보는 방식으로 사이트에서 코드 실행을 달성할 수 있음을 의미했습니다."라고 Gall이 썼습니다.
세 번째 취약점인 "Gutenberg 블록을 통한 Contributor+ 사용자의 원격 코드 실행"은 edit_posts 기능이 있는 모든 사용자가 PHP Everywhere Gutenberg 블록을 사용할 수 있도록 허용하는 PHP Everywhere의 기본 설정과 연결되어 있습니다.
Gall은 "관리자 전용으로 설정할 수 있었지만 구텐베르크 블록 편집기를 비활성화하지 않고는 기능 검사를 추가할 수 없는 버전 <= 2.0.3으로 인해 기본적으로 설정되지 않았습니다."라고 설명했습니다.
불행히도 이 설정은 기고자 수준의 사용자가 게시물을 만들고, 모든 곳에 PHP를 추가하고 코드를 추가한 다음 게시물을 미리보기하여 사이트에서 임의의 PHP 코드를 실행할 수 있음을 의미한다고 그는 말했습니다.
위험 및 보호
WordPress 플러그인은 종종 WordPress 사이트의 보안을 위협하는 취약점을 포함하여 오픈 소스 콘텐츠 관리 및 웹 사이트 생성 시스템을 사용하여 구축된 사이트 개발자에게 지속적인 고충입니다.
지난달 연구원들은 사이트 관리자 작업을 통해 공격자가 취약한 사이트에서 임의의 사이트 옵션을 업데이트하고 완전히 장악할 수 있는 동일한 취약점을 가진 3개의 WordPress 플러그인을 발견했습니다. 그리고 지난 10월에는 Hashthemes Demo Importer 라는 WordPress 플러그인 을 통해 구독자 가 사이트 에서 콘텐츠를 완전히 삭제할 수 있었습니다.
실제로 RiskBased Security의 연구원에 따르면 악용 가능한 WordPress 플러그인 취약점의 수가 2021년에 폭발적으로 증가하여 세 자릿수 증가했습니다.
Wordfence는 PHP Everywhere 결함의 영향을 받는 사용자에게 자체 완화 기능을 제공했습니다. 이 회사는 연구원들이 플러그인 개발자에게 통지한 당일에 프리미엄 사용자에게 PHP Everywhere 취약점으로부터 보호하는 방화벽 규칙을 제공했습니다. 나중에 다른 고객과 Wordfence 무료 버전 사용자에게 방화벽을 확장했습니다.
게시물에 따르면 Wordfence는 또한 Wordfence Care 서비스 를 통해 결함의 영향을 받는 WordPress 사용자에게 사고 대응 서비스를 제공하고 있습니다.