🇰🇷 한글 설명
BuddyForms 플러그인 2.10.5 이하 버전에는 'bf_post_type'(및 buddyforms_form_content) 파라미터의 입력 검증과 출력 이스케이프가 부족하여 저장형 XSS 취약점이 존재합니다. 인증되지 않은 공격자도 공개 폼의 nonce를 활용해 악성 스크립트를 주입할 수 있으며, 해당 페이지에 접근하는 사용자의 브라우저에서 스크립트가 실행됩니다.
💡 쉬운 설명
웹사이트의 폼 기능에 허점이 있어, 누구나 악성 코드를 사이트에 심을 수 있습니다. 이 코드가 방문자의 브라우저에서 실행되어 정보가 유출될 수 있습니다.
🇺🇸 원문 (English)
The BuddyForms plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'bf_post_type (and buddyforms_form_content)' parameter in all versions up to, and including, 2.10.5 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. Exploitation requires that at least one BuddyForms form with public submissions enabled exists on the site (so that the required nonce can be harvested from the public form page) and that the active theme registers a widgetized sidebar, allowing the injected customize_changeset to place a malicious Custom HTML widget into the site's front end.
📍 영향받는 시스템
WordPress용 BuddyForms 플러그인 2.10.5 이하 모든 버전
⚔️ 공격 벡터
공개 폼에서 nonce를 수집한 뒤 조작된 요청으로 악성 Custom HTML 위젯을 사이트 사이드바에 삽입하여 방문자에게 스크립트를 실행시킴
🛡️ 대응 방법
BuddyForms 플러그인을 2.10.6 이상 최신 버전으로 업데이트하고, 불필요한 공개 폼 제출 기능을 비활성화합니다.
🔧 검증 코드
출력된 버전 번호가 2.10.5 이하이면 취약한 것이며, 2.10.6 이상이면 패치된 상태입니다. 아무것도 출력되지 않으면 해당 플러그인이 이 시스템에 설치되어 있지 않은 것입니다.
wp plugin list --name=buddyforms --field=version 2>/dev/null || grep -h 'Version:' /var/www/*/wp-content/plugins/buddyforms/buddyforms.php 2>/dev/null