🇰🇷 한글 설명
WPSyncSheets For Contact Form 7 플러그인 1.8.0 이하 버전은 CF7 제출 필드 값에 대한 입력 검증이 부족하고 maybe_unserialize() 호출 시 allowed_classes 제한이 없어, 인증되지 않은 공격자가 PHP 객체 주입을 통해 서버에서 원격 코드를 실행할 수 있습니다. Google Sheets 액세스 토큰이 설정된 경우 번들된 Monolog 2.10.0 라이브러리의 클래스가 가젯 체인으로 활용될 수 있습니다.
💡 쉬운 설명
워드프레스 사이트의 문의 양식 데이터를 처리하는 플러그인에 취약점이 있어, 외부인이 특수하게 조작한 입력을 보내 서버를 제어할 수 있습니다. 구글 시트 연동 기능을 사용하는 사이트는 특히 위험합니다.
🇺🇸 원문 (English)
The WPSyncSheets For Contact Form 7 – CF7 Google Sheets Connector & Save to Database plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1.8.0 via the 'any non-system CF7 field (e.g., your-message)' parameter parameter. This is due to insufficient sanitization of CF7 submission field values before database storage and the absence of an allowed_classes restriction on maybe_unserialize() during admin retrieval. This makes it possible for unauthenticated attackers to execute code on the server. Successful exploitation of the remote code execution gadget chain requires that a Google Sheets access token be configured in the plugin (its primary advertised feature), as this triggers autoloading of the bundled Monolog 2.10.0 library whose classes form the exploitable gadget chain; however, the underlying PHP Object Injection occurs regardless.
📍 영향받는 시스템
WPSyncSheets For Contact Form 7 플러그인 1.8.0 이하 버전을 설치한 WordPress 사이트
⚔️ 공격 벡터
인증 없이 CF7 문의 양식 제출 필드에 악성 직렬화 데이터를 전송하여 관리자 조회 시 PHP 객체 주입 및 원격 코드 실행 유발
🛡️ 대응 방법
플러그인을 1.8.0 초과 패치 버전으로 즉시 업데이트하고, 업데이트가 불가능하면 플러그인을 비활성화 또는 제거하세요.
🔧 검증 코드
출력된 Stable tag 값이 1.8.0 이하이면 취약한 버전이며, 1.8.0 초과이거나 결과가 없으면 해당 경로에 설치되어 있지 않은 것입니다.
find /var/www -path '*wp-content/plugins/*' -name 'readme.txt' -exec grep -H -i 'Stable tag' {} \; 2>/dev/null | grep -i 'wpsyncsheets'