🇰🇷 한글 설명
phpMyFAQ 4.1.5 미만 버전에서 공개 FAQ API 엔드포인트의 활성화 상태 및 게시 날짜 필터링이 일관되지 않게 적용되는 취약점이 발견되었습니다. 이로 인해 인증되지 않은 공격자가 비공개 상태인 초안이나 검토 중인 FAQ의 제목과 전체 내용을 조회할 수 있습니다.
💡 쉬운 설명
공개되지 않아야 할 비밀스러운 질문과 답변이 API를 통해 외부로 유출될 수 있는 보안 결함입니다. 관리자가 아직 공개하지 않은 글들을 누구나 몰래 읽을 수 있는 상태입니다.
🇺🇸 원문 (English)
phpMyFAQ before 4.1.5 applies inconsistent active=yes and publication-date filtering across its public FAQ API endpoints, allowing unauthenticated attackers to retrieve inactive (draft or review-only) FAQ content. Specifically, GET /api/v3.1/faq/{categoryId}/{faqId} returns the inactive FAQ title and full answer, while GET /api/v3.1/faqs/tags/{tagId} and GET /api/v4.0/faqs/tags/{tagId} return the inactive FAQ title and answer preview, disclosing non-public content.
📍 영향받는 시스템
phpMyFAQ version < 4.1.5
⚔️ 공격 벡터
인증되지 않은 공격자가 특정 API 경로(GET /api/v3.1/faq/...)에 직접 요청을 보내 비공개 콘텐츠를 탈취
🛡️ 대응 방법
phpMyFAQ를 최신 보안 패치가 적용된 4.1.5 버전 이상으로 업데이트하십시오.
🔧 검증 코드
API 호출 결과로 비공개(inactive) 상태인 FAQ의 제목이나 전체 본문이 응답에 포함되는지 확인하십시오.
php -r 'echo "phpMyFAQ version check";' && curl -s http://localhost/api/v3.1/faq/1/1