🇰🇷 한글 설명
Animated Text Block 플러그인 1.2.6 이하 버전의 'animated-text' 숏코드 처리 함수(atb_shortcode_handler)에는 권한 검증이 없어, 인증된 Contributor 이상 사용자가 임의의 게시물 ID를 지정해 공개된 게시물의 렌더링 내용을 읽을 수 있습니다. 이 과정에서 is_post_type_viewable() 검증이 누락되어 일반적으로 숨겨진 비공개 커스텀 post type의 내용까지 노출될 수 있습니다.
💡 쉬운 설명
글을 쓸 수 있는 권한만 가진 사용자가 이 플러그인의 특정 코드(숏코드)를 이용해 원래는 볼 수 없어야 할 게시물 내용을 훔쳐볼 수 있습니다. 숨겨진 커스텀 게시물의 내용까지 노출될 수 있는 심각한 정보 유출 문제입니다.
🇺🇸 원문 (English)
The Animated Text Block plugin for WordPress is vulnerable to Sensitive Information Exposure in versions up to, and including, 1.2.6 via the 'animated-text' shortcode. This is due to the atb_shortcode_handler() function fetching an arbitrary post by attacker-supplied ID and, in the 'publish' branch, calling displayContent() with no capability check and no validation that the post's post_type is the plugin's own CPT or is otherwise viewable (is_post_type_viewable()). This makes it possible for authenticated attackers, with Contributor-level access and above, to read the rendered block content of any published post, including posts of non-public custom post types (public=false, show_in_rest=false) that WordPress would otherwise hide from direct URLs and the REST API.
📍 영향받는 시스템
WordPress Animated Text Block 플러그인 1.2.6 이하 버전 (1.2.6 포함)
⚔️ 공격 벡터
Contributor 이상 권한의 인증된 공격자가 animated-text 숏코드에 임의의 게시물 ID를 넣어 비공개 custom post type 게시물의 내용을 조회
🛡️ 대응 방법
플러그인을 1.2.6 초과 최신 버전으로 업데이트하고, 업데이트 불가 시 플러그인을 비활성화 또는 삭제
🔧 검증 코드
출력된 버전이 1.2.6 이하이면 취약하므로 업데이트가 필요하고, 1.2.6보다 높은 버전이면 해당 CVE에 대해 패치된 상태입니다 (경로가 다르면 플러그인 디렉터리 경로를 조정).
wp plugin get animated-text-block --field=version 2>/dev/null || grep -h 'Version:' /var/www/html/wp-content/plugins/animated-text-block/*.php 2>/dev/null | head -1