🇰🇷 한글 설명
phpMyFAQ의 API CategoryController 및 기타 4개 엔드포인트에서 권한 검증이 누락된 취약점이 발견되었습니다. 특정 API가 사용자 개별 권한을 확인하지 않고 공유 API 키만 확인하여, 권한이 없는 사용자가 카테고리나 FAQ를 생성 및 수정할 수 있습니다. 이 문제는 버전 4.1.4에서 수정되었습니다.
💡 쉬운 설명
로그인한 사용자가 자신의 권한을 넘어서서 FAQ 내용을 마음대로 만들거나 수정할 수 있는 보안 구멍이 있습니다. 단순히 '열쇠(API 키)'만 있으면 누구나 관리자처럼 행동할 수 있는 상태입니다.
🇺🇸 원문 (English)
phpMyFAQ is an open source FAQ web application. Versions prior to 4.1.4 have Missing Authorization in the API CategoryController. CVE-2026-24421 addressed this in the BackupController by adding: $this->userHasPermission(PermissionType::BACKUP). The same fix was not applied to 4 other write endpoints in the public API. All 4 only call $this->hasValidToken() — which checks a shared API key header, rather than the individual user's role permissions. The following APIs are affected: POST /api/v4.0/category (CategoryController::create), POST /api/v4.0/faq (FaqController::create), PUT /api/v4.0/faq (FaqController::update), and POST /api/v4.0/question (QuestionController::create). This issue has been fixed in version 4.1.4.
📍 영향받는 시스템
phpMyFAQ 4.1.4 미만 버전
⚔️ 공격 벡터
공유 API 키를 보유한 공격자가 권한 검증이 누락된 API 엔드포인트(POST/PUT)로 요청을 전송
🛡️ 대응 방법
phpMyFAQ를 최신 보안 패치가 적용된 버전 4.1.4 이상으로 업데이트
🔧 검증 코드
소스 코드 내의 해당 컨트롤러에서 userHasPermission 권한 체크 로직이 누락되었는지 확인합니다.
php -r 'echo "Check version via composer or manual file inspection";' && grep -r "CategoryController" /path/to/phpmyfaq/src/Controller/ | grep -v "userHasPermission"