🇰🇷 한글 설명
WordPress용 BookingPress Appointment Booking Pro 플러그인 5.7.1 이하 버전에는 bpa_assign_staffmember_to_slots() 함수의 store_service_date 파라미터에서 SQL 인젝션 취약점이 존재합니다. 사용자 입력값이 $wpdb->prepare() 없이 LIKE 절에 직접 삽입되어, 인증되지 않은 공격자가 추가 SQL 쿼리를 주입하여 데이터베이스의 민감한 정보를 추출할 수 있습니다.
💡 쉬운 설명
예약 관리 플러그인의 입력 칸에 특수한 명령을 넣어 데이터베이스 내부 정보를 몰래 꺼낼 수 있는 보안 결함입니다. 로그인하지 않은 사람도 공격할 수 있어 위험도가 높습니다.
🇺🇸 원문 (English)
The BookingPress Appointment Booking Pro plugin for WordPress is vulnerable to SQL Injection via the 'store_service_date' parameter of the bpa_assign_staffmember_to_slots() function in versions up to and including 5.7.1. This is due to the explicit use of stripslashes_deep() on user-supplied POST data before it is interpolated verbatim into a SQL LIKE clause without use of $wpdb->prepare() or any parameterization. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.
📍 영향받는 시스템
WordPress BookingPress Appointment Booking Pro 플러그인 5.7.1 이하 버전
⚔️ 공격 벡터
비인증 공격자가 store_service_date POST 파라미터에 조작된 SQL 구문을 삽입하여 기존 쿼리에 추가 쿼리를 결합
🛡️ 대응 방법
BookingPress 플러그인을 5.7.2 이상 버전으로 즉시 업데이트하고, 업데이트가 어려우면 플러그인을 비활성화
🔧 검증 코드
출력된 버전이 5.7.1 이하이면 취약하므로 즉시 업데이트가 필요하고, 5.7.2 이상이면 패치된 상태입니다. 명령 결과가 없으면 플러그인이 설치되지 않은 것입니다.
wp plugin get bookingpress-appointment-booking --field=version 2>/dev/null || grep -i 'Version' wp-content/plugins/bookingpress-appointment-booking/bookingpress-appointment-booking.php 2>/dev/null