🇰🇷 한글 설명
WordPress의 User Profile Builder 플러그인 4.0.2 이하 버전에서 아바타 필드를 통한 저장형 XSS 취약점이 발견되었습니다. 입력값 검증 및 출력 이스케이프 미흡으로 인해 인증되지 않은 공격자가 악성 스크립트를 삽입할 수 있으며, 관리자가 해당 계정을 조회할 때 스크립트가 실행됩니다.
💡 쉬운 설명
사용자 프로필의 아바타 설정 부분에 악성 코드를 몰래 심어두는 공격입니다. 관리자가 해당 사용자의 프로필을 확인하는 순간, 관리자의 권한을 탈취하거나 웹사이트를 조작할 수 있는 위험이 있습니다.
🇺🇸 원문 (English)
The User Profile Builder – Beautiful User Registration Forms, User Profiles & User Role Editor plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Avatar Field in all versions up to, and including, 4.0.2 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. The zero-length multipart file branch in wppb_save_avatar_value() writes the raw request value directly to user meta, bypassing the wppb_save_attachment_id()/wppb_verify_attachment_id() validation path; the stored payload is later adopted as a WordPress attachment URL and rendered unescaped by wppb_default_fields_make_upload_button() when an administrator views the affected account.
📍 영향받는 시스템
WordPress User Profile Builder 플러그인 4.0.2 이하 모든 버전
⚔️ 공격 벡터
아바타 필드에 검증을 우회하는 악성 스크립트를 포함한 요청을 전송하여 데이터베이스에 저장
🛡️ 대응 방법
플러그인을 최신 버전으로 업데이트하거나, 입력값 검증 및 출력 이스케이프가 적용된 패치를 적용하십시오.
🔧 검증 코드
출력된 플러그인 버전이 4.0.2보다 높은지 확인하여 취약 여부를 판단합니다.
wp plugin list --status=active | grep -i 'user-profile-builder' && wp plugin list --all | grep -E 'user-profile-builder' | awk '{print $2 " " $3}'