🇰🇷 한글 설명
WordPress용 GeoDirectory 플러그인 2.8.191 이하 버전에서 'post_content' 매개변수를 통한 저장형 XSS 취약점이 발견되었습니다. 인증된 공격자가 게시물 내용을 조작하여 악성 스크립트를 삽입할 수 있으며, 이는 사용자가 해당 페이지에 접속할 때 실행됩니다. 특히 이미 게시된 리스팅을 수정할 경우 별도의 검토 없이 즉시 반영되는 특성을 악용할 수 있습니다.
💡 쉬운 설명
게시판 글을 쓸 수 있는 권한이 있는 사람이 글 내용에 몰래 악성 코드를 심을 수 있는 문제입니다. 이 코드가 심어진 글을 다른 사용자가 읽게 되면, 사용자의 브라우저에서 악성 코드가 실행되어 정보가 탈취될 수 있습니다.
🇺🇸 원문 (English)
The GeoDirectory – WP Business Directory Plugin and Classified Listings Directory plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'post_content' parameter in all versions up to, and including, 2.8.191 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 requires the attacker to own a published listing, as the ownership check in GeoDir_Post_Data::can_edit() limits who can store the payload; however, because ajax_save_post() re-applies the existing post_status, edits to an already-published listing bypass re-moderation and remain live immediately.
📍 영향받는 시스템
GeoDirectory – WP Business Directory Plugin and Classified Listings Directory (버전 2.8.191 이하)
⚔️ 공격 벡터
인증된 공격자가 자신이 소유한 게시물의 'post_content' 파라미터에 악성 스크립트를 삽입하여 저장
🛡️ 대응 방법
GeoDirectory 플러그인을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 2.8.191보다 높은지 확인하십시오.
wp plugin list --name geodirectory --format=json | grep -oP '(?<=version\":\)"[^"]+'