🇰🇷 한글 설명
WordPress용 VikRentItems – Flexible Rental Management System 플러그인 1.2.1 이하 버전에서 저장형 XSS 취약점이 발견되었습니다. 예약 결제 양식의 고객 이메일 필드에서 입력값 검증 및 출력 이스케이프 처리가 미흡하여 발생하며, 공격자가 악성 스크립트를 삽입할 수 있습니다.
💡 쉬운 설명
예약할 때 이메일 칸에 일반적인 주소 대신 악성 코드를 적어 넣으면, 관리자가 해당 예약을 확인할 때 컴퓨터가 해킹될 수 있는 문제입니다. 공격자가 심어놓은 코드가 웹사이트 방문자의 브라우저에서 실행되어 정보를 훔칠 수 있습니다.
🇺🇸 원문 (English)
The VikRentItems – Flexible Rental Management System plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the customer email field of the booking checkout form in versions up to, and including, 1.2.1. This is due to insufficient input sanitization and output escaping in the saveorder() function, which stores the raw email value via VikRequest::getString() (applying only sanitize_text_field(), which does not neutralize HTML attribute-breaking characters such as double quotes), and in the editorder template which echoes the stored custmail value into an HTML input element's value attribute without esc_attr(). This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
📍 영향받는 시스템
VikRentItems – Flexible Rental Management System plugin for WordPress (버전 1.2.1 및 그 이하)
⚔️ 공격 벡터
예약 결제 양식의 이메일 입력 필드에 악성 스크립트를 삽입하여 데이터베이스에 저장한 후, 관리자 페이지 등에서 해당 데이터가 출력될 때 실행됨
🛡️ 대응 방법
플러그인을 최신 버전으로 업데이트하거나, saveorder() 함수에 적절한 입력값 검증을 적용하고 출력 시 esc_attr()를 사용하여 이스케이프 처리를 수행해야 합니다.
🔧 검증 코드
출력된 결과에서 vikrentitems 플러그인의 버전이 1.2.1 이하인지 확인합니다.
wp plugin list --allow-root | grep -E 'vikrentitems'