🇰🇷 한글 설명
WordPress용 CMB2 플러그인의 2.13.4 이하 모든 버전에는 입력값 검증 및 출력 이스케이프가 부족하여 저장형 크로스사이트 스크립팅(XSS) 취약점이 존재합니다. 이 취약점은 사이트 관리자가 반복 그룹 내 wysiwyg 필드를 공개 페이지에 렌더링한 경우에만 악용될 수 있으며, 인증되지 않은 공격자가 주입한 스크립트가 해당 페이지를 방문하는 사용자의 브라우저에서 실행될 수 있습니다.
💡 쉬운 설명
웹사이트에 악성 스크립트를 몰래 심을 수 있는 보안 결함입니다. 이 스크립트는 그 페이지를 여는 방문자들의 브라우저에서 실행됩니다.
🇺🇸 원문 (English)
The CMB2 plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'cmb43ex1_grp[0][txt] (wysiwyg field inside group — field id controlled by integrator config)' parameter in all versions up to, and including, 2.13.4 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This is only exploitable when a site integrator renders the plugin's documented front-end form helper with a wysiwyg field inside a repeatable group on a publicly accessible page.
📍 영향받는 시스템
WordPress CMB2 플러그인 2.13.4 이하 버전 (반복 그룹 내 wysiwyg 필드를 공개 페이지에 사용하는 사이트)
⚔️ 공격 벡터
인증 없이 취약한 입력 필드에 악성 스크립트를 삽입하여 저장시킨 뒤, 해당 페이지를 방문한 사용자의 브라우저에서 실행되도록 유도
🛡️ 대응 방법
CMB2 플러그인을 2.13.5 이상 최신 버전으로 업데이트하고, 사용자 입력값에 대한 검증 및 출력 이스케이프를 적용
🔧 검증 코드
출력된 버전이 2.13.4 이하이면 취약하므로 2.13.5 이상으로 업데이트가 필요하며, 아무 결과도 없으면 플러그인 경로를 확인해야 합니다.
grep -rh "Version:" wp-content/plugins/cmb2/cmb2.php 2>/dev/null | head -1