🇰🇷 한글 설명
WordPress용 Bookly 플러그인 28.4 이하 버전에서 발생하는 민감 정보 노출 취약점입니다. 공격자가 등록된 고객의 전화번호나 이메일만 알고 있다면, 인증 없이도 해당 고객의 이름, 이메일, 전화번호 및 내부 메모를 포함한 개인정보를 탈취할 수 있습니다.
💡 쉬운 설명
예약 시스템의 허점을 이용해 고객의 전화번호만 알면 그 고객의 이름과 개인적인 메모까지 몰래 훔쳐볼 수 있는 문제입니다. 보안 확인 절차가 생략되어 있어 누구나 쉽게 정보를 볼 수 있는 상태입니다.
🇺🇸 원문 (English)
The Bookly – Online Scheduling and Appointment Booking System plugin for WordPress is vulnerable to Sensitive Information Exposure in versions up to, and including, 28.4 via the classic booking form's Details step. The endpoint bookly_render_details is registered for both wp_ajax and wp_ajax_nopriv, the module overrides csrfTokenValid() to always return true, and Bookly\Frontend\Components\Booking\InfoText::getCodes() calls UserBookingData::getCustomer() to load the persisted Customer entity keyed solely by the attacker-supplied phone (or email) with no invocation of the plugin's own customerIdentityConfirmed() predicate. When a site owner has placed the supported {client_name}, {client_email}, {client_phone}, or {client_note} placeholders into the Details step's Appearance information text, the matched customer's stored name, email, phone and internal notes are substituted into the returned HTML. This makes it possible for unauthenticated attackers who know only a registered customer's primary phone (or email) to read that customer's stored personal data.
📍 영향받는 시스템
Bookly – Online Scheduling and Appointment Booking System plugin (v28.4 이하)
⚔️ 공격 벡터
공격자가 고객의 전화번호 또는 이메일을 입력하여 bookly_render_details 엔드포인트에 요청을 보냄
🛡️ 대응 방법
Bookly 플러그인을 최신 보안 패치가 적용된 버전으로 즉시 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 Bookly 플러그인의 버전이 28.4 이하인지 확인하십시오.
wp plugin list --status=active | grep -i 'bookly'