🇰🇷 한글 설명
WordPress의 Popup Box 플러그인 6.4.1에서 6.4.2 버전 사이에서 임의의 숏코드 실행 취약점이 발견되었습니다. 공격자가 HTTP 헤더를 조작하여 서버 내에 등록된 숏코드를 악용함으로써 임의의 데이터를 읽거나 특정 동작을 수행할 수 있습니다.
💡 쉬운 설명
웹사이트 팝업창에 사용자 IP를 보여주는 기능이 있는데, 공격자가 IP 대신 특수 명령어를 보내면 서버가 이를 명령으로 착각해 실행하는 문제입니다. 이를 통해 공격자는 사이트의 중요한 정보를 몰래 빼낼 수 있습니다.
🇺🇸 원문 (English)
The Popup Box plugin for WordPress is vulnerable to Arbitrary Shortcode Execution in versions 6.4.1 to 6.4.2. This is due to the ays_popup_get_user_ip() function reading the client-controlled Client-IP / X-Forwarded-For / Forwarded / X-Forwarded / Forwarded-For request headers, sanitizing them only with sanitize_text_field() (which does not strip the bracket, quote, space, or '=' characters used by shortcode syntax), substituting the value into a popup body wherever the %%user_ip_address%% token appears (a raw str_replace with no escaping in Ays_Pb_Data::replace_message_variables()), and then passing the resulting body to do_shortcode() in Ays_Pb_Public::ays_autoembed() at output on the wp_footer hook. This makes it possible for unauthenticated attackers to execute arbitrary registered shortcodes with attacker-supplied attributes on the server whenever an administrator has added the %%user_ip_address%% token to a popup's Custom Content body, which can be leveraged to read arbitrary data or perform other actions exposed by shortcodes installed on the site.
📍 영향받는 시스템
WordPress Popup Box plugin versions 6.4.1 to 6.4.2
⚔️ 공격 벡터
조작된 Client-IP 또는 X-Forwarded-For HTTP 헤더를 통한 숏코드 주입
🛡️ 대응 방법
플러그인을 최신 보안 패치 버전으로 업데이트하거나 %%user_ip_address%% 토큰 사용을 중단하십시오.
🔧 검증 코드
명령어 결과에 해당 플러그인 이름과 6.4.1 또는 6.4.2 버전이 나타나면 취약한 상태입니다.
wp-cli plugin list --name=popup-box --format=json | grep -E '6.4.[12]'