🇰🇷 한글 설명
WordPress용 Content Egg 플러그인 12.0.0 이하 버전에서 ajaxUpdateProducts() 함수가 게시물별 권한 검사(current_user_can('edit_post', $post_id))를 수행하지 않아 취약합니다. 기여자(contributor) 이상의 인증된 공격자가 다른 사용자의 게시물, 관리자 게시물을 포함해 임의 게시물의 상품 데이터를 수정할 수 있습니다.
💡 쉬운 설명
글쓰기 권한이 있는 사용자가 원래는 자신이 쓴 글만 건드려야 하는데, 이 플러그인의 결함으로 다른 사람의 글에 붙은 상품 정보를 바꿀 수 있습니다. 관리자가 작성한 글도 예외가 아닙니다.
🇺🇸 원문 (English)
The Content Egg plugin for WordPress is vulnerable to unauthorized modification of data due to a missing per-post capability check on the ajaxUpdateProducts() function in versions up to, and including, 12.0.0. The handler verifies a static nonce ('contentegg_metabox') and the generic 'edit_posts' capability, but trusts the attacker-supplied $_POST['post_id'] verbatim and never calls current_user_can('edit_post', $post_id) — the per-object check that its sibling save_post handler saveMeta() correctly performs. This makes it possible for authenticated attackers, with contributor-level access and above, to modify Content Egg product data (_cegg_data_*) and update-timestamp post meta on arbitrary posts, including those owned by administrators.
📍 영향받는 시스템
WordPress Content Egg 플러그인 12.0.0 이하 버전
⚔️ 공격 벡터
기여자 이상 권한의 계정으로 로그인한 뒤, ajaxUpdateProducts 요청에 다른 게시물의 post_id를 넣어 상품 데이터를 변경합니다.
🛡️ 대응 방법
Content Egg 플러그인을 12.0.0 초과의 수정된 최신 버전으로 업데이트하고, 필요 시 기여자 계정의 권한을 점검합니다.
🔧 검증 코드
출력된 버전이 12.0.0 이하이면 취약한 상태이므로 업데이트가 필요하고, 12.0.0 초과이면 이 CVE에 대해 패치된 상태입니다.
wp plugin get content-egg --field=version 2>/dev/null || grep -m1 'Version:' wp-content/plugins/content-egg/content-egg.php 2>/dev/null