🔍 CVE-2026-4080

6.4
CVSS Score
MEDIUM
2026-06-02
2026-07-22 19:10
✅ 완료

🇰🇷 한글 설명

WordPress용 Easy Cart 플러그인 1.8 이하 버전에서 'add_to_cart' 숏코드의 입력값 검증 미흡으로 인해 저장형 XSS 취약점이 발생합니다. sanitize_text_field() 함수가 큰따옴표를 이스케이프하지 못해 공격자가 HTML 속성 내에 임의의 이벤트 핸들러를 삽입할 수 있습니다. 이를 통해 기여자(Contributor) 이상의 권한을 가진 공격자가 악성 스크립트를 삽입하여 사용자 실행을 유도할 수 있습니다.

💡 쉬운 설명

쇼핑몰 기능을 제공하는 플러그인의 설정값에 악성 코드를 숨겨둘 수 있는 보안 약점이 발견되었습니다. 권한이 있는 사용자가 이 코드를 심어두면, 일반 사용자가 해당 페이지를 방문할 때 몰래 악성 스크립트가 실행될 수 있습니다.

🇺🇸 원문 (English)

The Easy Cart plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'add_to_cart' shortcode in all versions up to and including 1.8. This is due to insufficient input sanitization and output escaping on user-supplied shortcode attributes. Specifically, the ectp_add_to_cart() function uses sanitize_text_field() on shortcode attributes like 'itemid', 'product_name', 'product_desc', 'product_qty', and 'price' before inserting them into double-quoted HTML attributes. While sanitize_text_field() strips HTML tags, it does not escape double quote characters, allowing an attacker to break out of the HTML attribute context and inject arbitrary event handlers. 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 Easy Cart plugin version 1.8 and below

⚔️ 공격 벡터

Contributor 이상의 권한을 가진 사용자가 'add_to_cart' 숏코드 속성에 큰따옴표를 이용한 악성 이벤트 핸들러를 삽입

🛡️ 대응 방법

Easy Cart 플러그인을 최신 버전으로 업데이트하거나, 숏코드 속성 출력 시 esc_attr() 함수를 사용하여 이스케이프 처리를 적용해야 합니다.

🔧 검증 코드

출력된 결과에서 Easy Cart 플러그인이 활성화되어 있는지 확인하고, 설치된 버전을 체크하여 1.8 이하인지 검증합니다.

Shell / Script
wp plugin list --status=active | grep -i 'easy-cart'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

WordPress