🇰🇷 한글 설명
WordPress의 Lpagery 플러그인 2.5.7 이하 버전에서 저장형 XSS 취약점이 발견되었습니다. lpagery_add_filter_text_template_post() 함수가 입력값 검증 및 출력 이스케이프를 제대로 수행하지 않아, 공격자가 게시물 제목을 통해 악성 스크립트를 삽입할 수 있습니다. 이를 통해 기여자 이상의 권한을 가진 공격자가 관리자 권한을 탈취할 수 있는 위험이 있습니다.
💡 쉬운 설명
게시물 제목에 몰래 악성 코드를 숨겨두면, 관리자가 해당 게시물을 관리할 때 관리자의 브라우저에서 그 코드가 실행되는 문제입니다. 이를 통해 해커가 관리자의 계정 권한을 훔칠 수 있습니다.
🇺🇸 원문 (English)
The Lpagery plugin for WordPress is vulnerable to Stored Cross-Site Scripting via post titles in versions up to, and including, 2.5.7. This is due to insufficient input sanitization and output escaping in the lpagery_add_filter_text_template_post() function, which is hooked to admin_footer and echoes the raw post_title of the post referenced by the ?lpagery_template query parameter directly inside a JavaScript single-quoted string literal, without esc_js(), esc_html(), or any other encoding. This makes it possible for authenticated attackers, with Contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a higher-privileged user (such as an administrator) accesses an admin page with the ?lpagery_template=<post_id> parameter pointing at the attacker's post.
📍 영향받는 시스템
WordPress Lpagery plugin versions up to and including 2.5.7
⚔️ 공격 벡터
기여자 이상의 권한을 가진 공격자가 악성 스크립트가 포함된 게시물 제목을 작성한 후, 관리자가 특정 쿼리 파라미터를 통해 해당 게시물을 참조하도록 유도함
🛡️ 대응 방법
Lpagery 플러그인을 최신 버전으로 업데이트하거나, 입력값에 대한 esc_js() 및 esc_html() 처리가 포함된 패치를 적용해야 합니다.
🔧 검증 코드
출력된 결과에서 lpagery 플러그인의 버전이 2.5.7 이하인지 확인합니다.
wp plugin list --status=active | grep lpagery