🇰🇷 한글 설명
phpMyFAQ 4.2.0-alpha 미만 버전에서 발생하는 저장형 XSS 취약점입니다. 인증되지 않은 사용자나 권한이 낮은 사용자가 악성 자바스크립트를 삽입할 수 있으며, 관리자가 해당 FAQ 항목을 검토할 때 세션 탈취를 통해 관리자 계정을 탈취할 수 있습니다. 이는 strip_tags() 이후 html_entity_decode()가 실행되고 Twig의 |raw 필터가 사용되는 로직 결함으로 인해 발생합니다.
💡 쉬운 설명
누구나 질문 게시판에 몰래 악성 코드를 심어둘 수 있는 보안 구멍입니다. 관리자가 이 질문을 확인하는 순간, 관리자의 로그인 정보가 해커에게 통째로 넘어가게 됩니다.
🇺🇸 원문 (English)
phpMyFAQ is an open source FAQ web application. A stored cross-site scripting (XSS) vulnerability in versions prior to 4.2.0-alpha allows any unauthenticated user (or low-privileged registered user) to inject arbitrary JavaScript that executes in an administrator's browser when they review or edit a user-submitted FAQ entry. This leads to admin account takeover via session theft. The vulnerability exists because `html_entity_decode()` converts HTML entities into executable HTML after `strip_tags()` has already passed them through, and the admin template renders the content with Twig's `|raw` filter without any output sanitization. Version 4.2.0-alpha fixes the issue.
📍 영향받는 시스템
phpMyFAQ 4.2.0-alpha 미만 모든 버전
⚔️ 공격 벡터
사용자가 제출한 FAQ 항목에 악성 스크립트를 삽입하여 관리자의 브라우저에서 실행되도록 유도
🛡️ 대응 방법
phpMyFAQ를 최신 버전인 4.2.0-alpha 이상으로 업데이트하십시오.
🔧 검증 코드
설치된 phpMyFAQ의 버전을 확인하여 4.2.0-alpha 미만인지 체크합니다.
php -r 'echo "phpMyFAQ Version Check";' | grep -i '4.2.0-alpha'