🔍 CVE-2026-7421

4.4
CVSS Score
MEDIUM
2026-06-03
2026-07-21 19:10
✅ 완료

🇰🇷 한글 설명

WordPress의 Passeum Ticketing 플러그인 1.0 이하 버전에서 저장형 XSS 취약점이 발견되었습니다. 관리자 권한을 가진 공격자가 shop_name 설정을 악성 URL로 변경하면, 해당 플러그인이 포함된 모든 페이지에서 외부 스크립트가 실행될 수 있습니다. 다만, 관리자는 이미 unfiltered_html 권한을 가지고 있어 단일 사이트 설치 환경에는 영향을 미치지 않습니다.

💡 쉬운 설명

관리자 권한을 탈취한 해커가 플러그인 설정에 가짜 주소를 입력하여 웹사이트 방문자들에게 악성 코드를 실행시킬 수 있는 문제입니다. 이 코드는 사이트의 모든 페이지에서 작동하여 방문자의 정보를 훔칠 위험이 있습니다.

🇺🇸 원문 (English)

The Passeum Ticketing plugin for WordPress is vulnerable to Stored Cross-Site Scripting in all versions up to, and including, 1.0. This is due to the `get_shop_url()` method returning the `shop_name` setting value without sanitization when it begins with "http", combined with insufficient validation in the `validate_shop_name()` function which only checks for empty values and string type. This makes it possible for authenticated attackers, with Administrator-level access and above, to inject arbitrary external scripts by setting the `shop_name` to an attacker-controlled URL (e.g., `https://attacker.com`), which causes the plugin to enqueue external JavaScript and CSS from the attacker-controlled domain via `wp_register_script()` and `wp_register_style()`. The injected scripts execute on every frontend page containing any Passeum Ticketing shortcode, affecting all site visitors. Please note that this does not affect single-site installations as administrators already have the `unfiltered_html` capability.

📍 영향받는 시스템

Passeum Ticketing plugin for WordPress (version 1.0 and below)

⚔️ 공격 벡터

관리자 권한을 이용해 shop_name 설정값에 악성 외부 URL을 삽입하여 스크립트를 로드함

🛡️ 대응 방법

플러그인을 최신 버전으로 업데이트하거나, shop_name 설정값에 대한 입력값 검증 로직을 강화해야 함

🔧 검증 코드

명령어 결과에 해당 플러그인 이름과 1.0 이하의 버전이 출력되면 취약한 상태임

Shell / Script
wp plugin list --name=passeum-ticketing --format=csv | grep -E 'passeum-ticketing,1\.[0-9]'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:N

💻 영향받는 소프트웨어

WordPress