🇰🇷 한글 설명
WordPress의 Presto Player 플러그인 4.2.0 이하 버전에서 [presto_player_overlay] 숏코드의 'link_url' 매개변수를 통한 저장형 XSS 취약점이 발견되었습니다. getOverlays() 함수가 입력값 검증 및 출력 이스케이프를 적절히 수행하지 않아, 공격자가 javascript: URI를 삽입하여 악성 스크립트를 실행할 수 있습니다. 기여 권한 이상의 인증된 공격자가 해당 페이지를 방문하는 사용자에게 임의의 스크립트를 실행시킬 수 있습니다.
💡 쉬운 설명
워드프레스 플러그인의 특정 설정값에 악성 코드를 숨겨두면, 다른 사용자가 해당 페이지를 볼 때 자동으로 해킹 스크립트가 실행되는 문제입니다. 글을 쓸 수 있는 권한이 있는 사용자가 악의적인 링크를 삽입하여 다른 방문자의 정보를 탈취할 수 있습니다.
🇺🇸 원문 (English)
The Presto Player plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'link_url' parameter of the [presto_player_overlay] shortcode in versions up to, and including, 4.2.0 This is due to insufficient input sanitization and output escaping in the getOverlays() function, which copies the link_url shortcode attribute directly into the overlay configuration without scheme validation, allowing javascript: URIs to survive and be rendered as the href of a clickable anchor element by the presto-dynamic-overlay-ui web component. 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 Presto Player plugin (version 4.2.0 and below)
⚔️ 공격 벡터
인증된 공격자가 [presto_player_overlay] 숏코드의 link_url 속성에 javascript: URI를 삽입하여 공격
🛡️ 대응 방법
Presto Player 플러그인을 최신 버전으로 업데이트하여 입력값 검증 및 출력 이스케이프 기능이 적용된 패치를 적용하십시오.
🔧 검증 코드
출력된 결과에서 Presto Player 플러그인의 버전이 4.2.0 이하인지 확인하십시오.
wp plugin list --status=active | grep -i 'presto-player'