🇰🇷 한글 설명
WordPress Blocksy 테마(2.1.35 이하)는 PHP 객체 주입 취약점으로 인해 원격 코드 실행이 가능합니다. 기여자 이상의 권한을 가진 공격자가 REST API를 통해 직렬화된 PHP 객체를 주입하면, 데이터 마이그레이션 실행 시 악성 코드가 실행됩니다.
💡 쉬운 설명
블록시 테마의 입력 검증 부재로 인해 공격자가 서버에서 임의의 코드를 실행할 수 있습니다. 기여자 권한만 있어도 데이터베이스 마이그레이션 과정을 통해 사이트가 완전히 장악될 수 있습니다.
🇺🇸 원문 (English)
The Blocksy theme for WordPress is vulnerable to PHP Object Injection leading to Remote Code Execution via the 'blocksy_meta' REST API field and the V200 database migration in versions up to and including 2.1.35. This is due to insufficient input sanitization in the blocksy_sanitize_post_meta_options() function, which only blocks values containing '<' or '>' and does not prevent serialized PHP object strings from being stored in post meta, combined with the SearchReplacer::run_recursively() function unconditionally deserializing all string values via @unserialize() during migration without restricting allowed classes. This makes it possible for authenticated attackers, with contributor-level access and above, to inject a serialized Blocksy\RaiiPattern object into post meta that, when the V200 migration runs on an upgraded site, is deserialized and triggers RaiiPattern::__destruct(), which executes arbitrary PHP callables via call_user_func().
📍 영향받는 시스템
WordPress Blocksy Theme versions <= 2.1.35
⚔️ 공격 벡터
기여자 이상 권한의 공격자가 REST API를 통해 직렬화된 PHP 객체를 주입하고 마이그레이션 트리거
🛡️ 대응 방법
Blocksy 테마를 2.1.36 이상 버전으로 즉시 업데이트하십시오.
🔧 검증 코드
명령어 실행 결과 'VULNERABLE'이 출력되면 해당 버전은 취약하며, 결과가 없거나 버전이 더 높으면 안전합니다.
wp plugin list --fields=name,version --format=csv | grep -i blocksy | awk -F, '{if ($2 <= "2.1.35") print "VULNERABLE: "$1" version "$2}'