🇰🇷 한글 설명
WordPress의 Divi 테마 4.27.6 이하 버전에서 et_pb_contact_form 쇼트코드 내 redirect_url 파라미터를 통해 저장형 XSS 취약점이 발생합니다. redirect_url 속성이 적절한 URL 검증 없이 HTML 데이터 속성에 렌더링되어, 공격자가 javascript: URI를 사용하여 임의의 스크립트를 실행할 수 있습니다. 기여 권한 이상의 인증된 공격자가 페이지에 악성 스크립트를 삽입할 수 있습니다.
💡 쉬운 설명
웹사이트의 연락처 양식 설정에 악성 코드를 숨겨두어, 사용자가 양식을 제출할 때 공격자가 원하는 동작이 실행되게 만드는 보안 약점입니다. 권한이 있는 사용자가 양식의 이동 주소 칸에 특수 명령어를 입력함으로써 발생합니다.
🇺🇸 원문 (English)
The Divi theme for WordPress is vulnerable to Stored Cross-Site Scripting via the `redirect_url` parameter of the `et_pb_contact_form` shortcode in all versions up to, and including, 4.27.6. This is due to the `redirect_url` attribute being sanitized with `esc_attr()` instead of `esc_url()` before being rendered into the `data-redirect_url` HTML data attribute. Additionally, `redirect_url` is absent from the hardcoded `$url_options` array in `class-et-builder-element.php`, so it does not receive `esc_url_raw()` sanitization during shortcode parsing. After a successful form submission, client-side JavaScript reads this data attribute and passes it directly to `window.location.href`, executing arbitrary JavaScript from a `javascript:` URI. This makes it possible for authenticated attackers, with Contributor-level access and above, to inject arbitrary web scripts in pages that execute whenever a user submits the contact form.
📍 영향받는 시스템
WordPress Divi Theme (버전 4.27.6 및 그 이하 모든 버전)
⚔️ 공격 벡터
인증된 공격자(Contributor 권한 이상)가 쇼트코드의 redirect_url 파라미터에 javascript: 프로토콜을 포함한 악성 스크립트를 삽입
🛡️ 대응 방법
Divi 테마를 최신 버전으로 업데이트하여 보안 패치를 적용하십시오.
🔧 검증 코드
출력된 결과에서 Divi 테마의 버전을 확인하여 4.27.6 이하인지 체크합니다.
wp-cli plugin list --allow-root | grep -i 'divi'