🇰🇷 한글 설명
WordPress용 Kirki 플러그인 6.4.1 이전 버전에는 페이지 REST API에서 객체 단위 접근 제어가 누락된 취약점이 있습니다. Editor 역할의 사용자는 자신이 소유하지 않은 임의의 게시물과 커스텀 포스트 타입, WooCommerce 상품의 제목, 슬러그, 게시 상태를 변경할 수 있습니다.
💡 쉬운 설명
편집자 권한을 가진 사용자가 다른 사람의 글이나 상품을 임의로 수정하거나 삭제할 수 있는 문제입니다. 비공개 콘텐츠가 노출되거나 공개된 콘텐츠가 사라질 수 있습니다.
🇺🇸 원문 (English)
Kirki plugin for WordPress before 6.4.1 contains a broken object-level access control vulnerability in its page REST API, where the PUT /wp-json/kirki/v1/pages/{page_id} route and the save_page_data, duplicate, and delete handlers in PageController.php rely only on a coarse role-to-access middleware check without performing a per-object WordPress capability check. A user with Kirki edit access, granted to the Editor role by default, can exploit this flaw to modify the title, slug, and publication status of any non-trashed post of any post type, including custom post types and WooCommerce products they do not own, exposing private or draft content or removing published content by manipulating the unrestricted post_status field.
📍 영향받는 시스템
Kirki 플러그인 6.4.1 미만 버전이 설치된 WordPress 사이트
⚔️ 공격 벡터
Editor 권한 계정으로 PUT /wp-json/kirki/v1/pages/{page_id} 요청을 보내 다른 사용자 게시물의 post_status 등을 변경
🛡️ 대응 방법
Kirki 플러그인을 6.4.1 이상으로 업데이트하고, 불필요한 Editor 권한 및 Kirki 편집 권한을 검토
🔧 검증 코드
출력된 버전이 6.4.1 미만이면 취약한 상태이며, 6.4.1 이상이면 패치가 적용된 상태입니다.
wp plugin list --name=kirki --fields=name,version 2>/dev/null || grep -i 'Version:' wp-content/plugins/kirki/kirki.php 2>/dev/null