🇰🇷 한글 설명
WordPress용 Directorist 플러그인 8.10.2.1 이하 버전에서 'phone' 필드의 입력값 검증 및 출력 이스케이프 미비로 인해 저장형 XSS 취약점이 발생합니다. 구독자 권한 이상의 인증된 공격자가 악성 스크립트를 삽입하여 페이지 방문자의 브라우저에서 실행될 수 있습니다.
💡 쉬운 설명
게시물을 올릴 수 있는 권한을 가진 사용자가 전화번호 입력란에 악성 코드를 몰래 심을 수 있는 문제입니다. 이 코드가 포함된 페이지를 다른 사용자가 방문하면 해커가 의도한 동작이 실행될 수 있습니다.
🇺🇸 원문 (English)
The Directorist: AI-Powered Business Directory, Listings & Classified Ads plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'phone' Listing Field in all versions up to, and including, 8.10.2.1 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This is possible because the plugin grants the edit_at_biz_dirs and publish_at_biz_dirs capabilities to the subscriber role, allowing any subscriber-level user to submit and publish listings without moderation.
📍 영향받는 시스템
Directorist: AI-Powered Business Directory, Listings & Classified Ads plugin (버전 8.10.2.1 이하)
⚔️ 공격 벡터
구독자 권한을 가진 공격자가 'phone' 필드에 악성 스크립트를 입력하여 게시물을 등록 및 발행
🛡️ 대응 방법
플러그인을 최신 버전으로 업데이트하거나 입력값 검증 및 출력 이스케이프 로직을 적용
🔧 검증 코드
출력된 결과에서 플러그인 버전이 8.10.2.1 이하인지 확인하여 취약 여부를 판단합니다.
wp plugin list --name=directorist --format=json | grep -E '"version":"[0-8]\.[0-9]\.[0-9]\.[0-9]"'