🇰🇷 한글 설명
WordPress의 Magazine Blocks 플러그인 1.8.6 이하 버전에서 News Ticker 블록의 clientId 속성을 통한 저장형 XSS 취약점이 발견되었습니다. NewsTicker::render() 메서드에서 입력값 검증 및 출력 이스케이프 처리가 미흡하여, 기여자(Contributor) 이상의 권한을 가진 공격자가 악성 스크립트를 삽입할 수 있습니다.
💡 쉬운 설명
웹사이트 게시물에 몰래 악성 코드를 심어두는 취약점입니다. 권한이 있는 사용자가 뉴스 티커 설정에 나쁜 코드를 넣으면, 해당 페이지를 방문하는 다른 사용자들의 브라우저에서 그 코드가 실행됩니다.
🇺🇸 원문 (English)
The Magazine Blocks plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the News Ticker block's clientId attribute in versions up to, and including, 1.8.6. This is due to insufficient input sanitization and output escaping in the NewsTicker::render() method, which concatenates the clientId block attribute into an HTML class attribute without applying esc_attr(). 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 user accesses an injected page.
📍 영향받는 시스템
WordPress Magazine Blocks plugin (버전 1.8.6 이하)
⚔️ 공격 벡터
기여자 이상의 권한을 가진 공격자가 News Ticker 블록의 clientId 속성에 악성 스크립트를 삽입하여 저장
🛡️ 대응 방법
Magazine Blocks 플러그인을 최신 버전으로 업데이트하거나, 해당 블록의 clientId 속성 입력을 제한해야 합니다.
🔧 검증 코드
출력된 버전 정보가 1.8.6 이하인지 확인하여 취약 여부를 판단합니다.
wp plugin list --name magazine-blocks --format=json | grep -E 'version' || echo 'Plugin not found'