Bricks Builder WordPress 테마: 심각한 원격 코드 실행 취약성(CVE-2024-25600)
Bricks Builder는 WordPress용 강력한 테마 편집 플러그인입니다. 최근 CDNetworks Security Lab은 1.9.6 이전 버전의 WordPress 기본 구성에서 원격 코드 실행 취약점을 발견했습니다. 이 취약점을 통해 사용자는 권한 검사를 우회하여 원격 코드 실행을 유도하고 서버 수준 권한을 부여할 수 있습니다.
불행히도, 이 취약점을 악용하는 것은 간단하며, 그 영향은 광범위합니다. 기업과 조직은 WordPress 버전을 확인하고, 관련 취약점을 해결하거나, 이 취약점의 악용을 방지하기 위한 웹 보호 솔루션을 구현하는 것이 좋습니다.
취약점 분석
공개된 취약성 개요와 개념 증명(PoC)을 검토한 후, 우리는 /bricks/v1/render_element 경로의 글로벌 위치를 식별했습니다. 이 REST API 경로는 bricks/includes/api.php 파일에 등록되어 있으며, 여기서 요청 메서드, 콜백 함수 render_element, 권한 확인 콜백 함수 render_element_permissions_check를 정의합니다。
우리는 동적 디버깅과 추가 분석을 위해 소스 코드에 중단점을 설정합니다。서버가 요청을 받으면 먼저 권한 확인 콜백 함수를 호출합니다。
bricks/includes/api.php 경로를 따라가면 권한 확인 콜백 함수 render_element_permissions_check가 nonce 값을 기반으로 권한 검증을 수행하는 것을 확인할 수 있습니다。
“Bricks” 소프트웨어에서 유효한 nonce는 프런트 엔드에 포함됩니다。WordPress 홈페이지를 새로 고치면 프런트 엔드 소스 코드에서 전역적으로 nonce를 찾을 수 있습니다。즉, 권한 확인 콜백 함수가 완전히 효과가 없어 권한이 없는 사용자가 이 API에서 작업을 수행할 수 있습니다。
프런트 엔드에서 추출된 nonce 값을 검증한 후, 콜백 함수 render_element로 진행합니다。이 함수 내에서 Ajax::render_element 함수가 호출되어 요청 본문의 매개변수를 전달합니다。
다음으로 bricks/includes/ajax.php의 render_element 함수를 따릅니다。이 함수에서 Element_Code 클래스는 주로 매개변수를 기반으로 위치하며 인스턴스화됩니다。
인스턴스화 후 init() 함수가 호출됩니다。
다음으로, 이 함수를 bricks/includes/elements/base.php로 추가합니다。
이 파일에서 this->render() 함수에 주의하세요。그런 다음 bricks/includes/elements/code.php로 이동합니다。위험한 함수 호출에 대한 몇 가지 검사 후 eval 함수가 구성에서 사용자가 제출한 코드를 실행하기 위해 예외 처리 내에서 사용된다는 것이 분명합니다。이 경우 코드 매개변수는 사용자가 제어하여 다음과 같은 것을 사용하여 코드를 실행할 수 있습니다。
마지막으로, 코드 실행 결과는 현재 버퍼의 내용에서 얻습니다。그런 다음 요청은 콜백을 통해 단계별로 완료됩니다。
취약점 복제
WordPress 6.4.3 + Bricks Builder 1.9.4를 사용하여 로컬로 설정합니다。WordPress 홈페이지에서 소스 코드를 보고 nonce 값에 대한 글로벌 검색을 수행합니다。
BurpSuite를 사용하여 요청을 구성합니다.http://127.0.0.1/wordpress/?rest_route=/bricks/v1/render_element 그리고 POST 요청을 통해 다음 데이터를 제출하여 “python –version” 명령을 실행합니다。반환된 결과에서 현재 호스트의 Python 버전을 성공적으로 볼 수 있습니다。
영향을 받는 자산
Fofa에서 발견된 관련 자산은 25,000개가 넘습니다。Fofa 쿼리: body="/wp-content/themes/bricks/"
완화 전략
이 취약점을 해결하려면:
- WordPress Bricks Builder 테마를 최신 버전으로 업데이트하세요。
- 권한 확인 콜백 함수 인증을 위해 nonce 값에 의존하지 마세요。
- 모든 사용자 입력 항목은 엄격한 검증 및 필터링을 거쳐 무단 액세스 및 코드 실행을 방지합니다。
취약성 최소화: CDNetworks의 Cloud Security 2.0
CDNetworks의 클라우드 WAF 이 취약성 악용에 대한 즉각적인 보호를 제공합니다。다른 변형 공격 방법과 다양한 구성 요소 취약성을 지속적으로 조사하고 분석하여 비즈니스의 "취약성 창"을 최소화하기 위한 보호 규칙을 신속하게 배포합니다。
CDNetworks는 최근 클라우드 보안 솔루션을 클라우드 보안 2.0으로 업그레이드 했으며, WAF의 몇 가지 주요 기능을 소개합니다:
- 내장된 규칙세트: 0-day/N-day 및 OWASP 상위 10개 공격에 대한 1,000개 이상의 규칙세트.
- 지능형 분석(셀프 튜닝): AI가 사용자 행동을 학습하고 자동으로 규칙 예외를 생성하여 거짓 양성 결과를 줄입니다.
- 0-day 공격에 대한 가상 패치: 취약점을 지속적으로 모니터링하고 매시간 새로운 규칙을 생성합니다.
- AI 기술을 활용한 관리형 보호 모드: 향상된 위협 탐지 및 대응.
- 확장성 및 배포 용이성: 쉬운 배포로 수요에 따라 확장 가능합니다.
CDNetworks는 이러한 기능을 통합함으로써 APAC 지역 기업의 진화하는 보안 요구 사항을 충족하고 경쟁이 치열한 시장에서 조직을 보호하는 것을 목표로 합니다。