🇰🇷 한글 설명
WordPress용 GeoDirectory 플러그인에서 'business_hours' 매개변수를 통한 저장형 XSS 취약점이 발견되었습니다. 인증된 구독자 권한 이상의 사용자가 적절한 입력값 검증 및 출력 이스케이프 부재를 악용하여 임의의 웹 스크립트를 삽입할 수 있습니다. 이 취약점은 AJAX 저장 핸들러가 권한 확인을 충분히 수행하지 않아 발생합니다.
💡 쉬운 설명
게시물을 작성할 수 있는 일반 사용자가 악성 코드를 몰래 심어놓을 수 있는 보안 약점입니다. 다른 사용자가 해당 페이지를 방문하면 심어진 코드가 실행되어 개인정보가 유출될 위험이 있습니다.
🇺🇸 원문 (English)
The GeoDirectory – WP Business Directory Plugin and Classified Listings Directory plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'business_hours' parameter in all versions up to, and including, 2.8.183 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 AJAX save handler validates only post authorship and a nonce with no additional capability check, allowing any subscriber-level user who owns a listing to exploit this vulnerability.
📍 영향받는 시스템
GeoDirectory – WP Business Directory Plugin (버전 2.8.183 이하 모든 버전)
⚔️ 공격 벡터
구독자 권한을 가진 공격자가 AJAX 요청의 'business_hours' 매개변수에 악성 스크립트를 삽입하여 저장
🛡️ 대응 방법
GeoDirectory 플러그인을 최신 보안 패치가 적용된 버전으로 즉시 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 GeoDirectory 플러그인의 설치 여부와 현재 버전을 확인하여 2.8.183 이하인지 체크합니다.
wp plugin list --allow-root | grep -i 'geodirectory'