🇰🇷 한글 설명
WordPress용 Independent Analytics 플러그인 2.15.0 이하 버전에서 저장형 XSS 취약점이 발견되었습니다. get_cell_content() 함수가 URL 검증 후 디코딩을 수행하는 로직 오류와 wp_kses_post()의 불충분한 필터링, 그리고 인증 없이 접근 가능한 REST API를 통해 악성 스크립트가 삽입될 수 있습니다.
💡 쉬운 설명
해커가 웹사이트의 특정 데이터에 몰래 악성 코드를 심어둘 수 있는 보안 약점입니다. 이 코드가 실행되면 사용자의 정보를 훔치거나 웹사이트를 마음대로 조작할 수 있습니다.
🇺🇸 원문 (English)
The Independent Analytics plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 404 not_found_url tracking parameter in versions up to, and including, 2.15.0. This is due to the get_cell_content() function applying urldecode() after esc_url() when rendering the URL column for 404 entries — a sequence that allows percent-encoded HTML to pass URL validation and then be reconstructed as raw markup, which wp_kses_post() does not strip because it retains img elements and data-* attributes, and because the public REST endpoint /iawp/search accepts unauthenticated requests as long as they carry a signature that is itself embedded in public page HTML. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
📍 영향받는 시스템
WordPress Independent Analytics plugin versions up to and including 2.15.0
⚔️ 공격 벡터
인증되지 않은 공격자가 공개된 REST API(/iawp/search)를 통해 인코딩된 악성 스크립트를 주입
🛡️ 대응 방법
Independent Analytics 플러그인을 최신 보안 패치가 적용된 버전으로 즉시 업데이트하십시오.
🔧 검증 코드
출력된 플러그인 목록에서 'independent-analytics'의 버전이 2.15.0 이하인지 확인하십시오.
wp plugin list --status=active | grep -i 'independent-analytics'