🇰🇷 한글 설명
Zephyr Project Manager 플러그인(3.3.209 이하)의 'zpm_profile_picture' 매개변수에 입력값 검증 및 출력 이스케이프가 부족하여 저장형 크로스 사이트 스크립팅(XSS)이 발생합니다. 구독자 이상의 권한을 가진 공격자가 프로필에 악성 스크립트를 저장할 수 있으며, 관리자가 자동완성 멘션 기능에서 해당 프로필을 렌더링할 때 스크립트가 실행됩니다.
💡 쉬운 설명
프로젝트 관리 플러그인의 프로필 사진 입력란에 악성 코드를 숨겨 넣을 수 있는 취약점입니다. 관리자가 해당 정보를 화면에서 보는 순간 공격 코드가 실행되어 관리자 권한이 탈취될 수 있습니다.
🇺🇸 원문 (English)
The Zephyr Project Manager plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'zpm_profile_picture' parameter in all versions up to, and including, 3.3.209 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The injected payload is stored in the subscriber's own Zephyr profile and fires in any Administrator's browser session the first time the autocomplete mention lookup renders the avatar field, requiring no additional configuration beyond the plugin's default access_roles setting. Successful exploitation additionally requires an action by an administrator — the attacker cannot trigger the vulnerability on their own.
📍 영향받는 시스템
WordPress용 Zephyr Project Manager 플러그인 3.3.209 이하 버전
⚔️ 공격 벡터
구독자 권한으로 로그인한 공격자가 프로필 사진 매개변수에 스크립트를 저장한 뒤, 관리자가 멘션 자동완성 기능을 열 때 실행되도록 유도
🛡️ 대응 방법
Zephyr Project Manager 플러그인을 3.3.209 초과 버전으로 즉시 업데이트하고, 업데이트 전까지 구독자의 프로필 편집 권한을 제한
🔧 검증 코드
출력된 버전 번호가 3.3.209 이하이면 취약하며, 3.3.210 이상이면 패치된 것입니다. 아무 결과도 나오지 않으면 플러그인이 설치되어 있지 않은 것입니다.
wp plugin list --name=zephyr-project-manager --field=version 2>/dev/null || grep -r "Version:" /var/www/html/wp-content/plugins/zephyr-project-manager/*.php 2>/dev/null | head -1