🇰🇷 한글 설명
WordPress용 Kirki 플러그인 6.3.1 이하 버전에서 임의의 숏코드 실행 취약점이 발견되었습니다. 사용자의 'display_name'이 필터링 없이 페이지 마크업에 삽입된 후 do_shortcode() 함수를 통해 실행되기 때문에 발생합니다. 이를 통해 권한이 있는 공격자는 악의적인 숏코드를 실행하여 사이트에 영향을 줄 수 있습니다.
💡 쉬운 설명
사용자 이름에 특수한 명령어를 입력하면 웹사이트가 이를 실행해버리는 보안 결함입니다. 일반 회원이라도 이름을 조작하여 사이트의 기능을 마음대로 조종할 수 있습니다.
🇺🇸 원문 (English)
The Kirki – Freeform Page Builder, Website Builder & Customizer plugin for WordPress is vulnerable to arbitrary shortcode execution in all versions up to, and including, 6.3.1 This is due to the plugin substituting a user's `display_name` into the composed page markup unfiltered and then running the whole result through `do_shortcode()` in `TheFrontend::replace_content()`. Because `display_name` is writable by any user on their own account through the core profile form, this makes it possible for authenticated attackers with Subscriber-level access and above to execute arbitrary shortcodes. Where the page is a users collection — an ordinary team or member-directory page — the shortcode runs in the request of every visitor, including unauthenticated ones. Requires a published page with a Kirki element whose dynamic content is bound to the `display_name` user field.
📍 영향받는 시스템
Kirki – Freeform Page Builder, Website Builder & Customizer plugin (버전 6.3.1 이하)
⚔️ 공격 벡터
가입된 사용자가 자신의 프로필 이름을 악의적인 숏코드로 변경하여 페이지에 노출시킴
🛡️ 대응 방법
Kirki 플러그인을 최신 버전으로 업데이트하거나, 사용자 이름이 동적 콘텐츠로 사용되지 않도록 설정 변경
🔧 검증 코드
출력된 결과에서 Kirki 플러그인의 버전을 확인하여 6.3.1 이하인지 점검
wp plugin list --status=active | grep -i 'kirki'