🇰🇷 한글 설명
Kirby CMS 5.0.0부터 5.5.2 버전 사이의 REST API 청크 업로드 핸들러에서 권한 검증 미흡 취약점이 발견되었습니다. 인증된 사용자가 권한이 없는 상태에서도 임시 업로드 파일을 생성하여 서버의 저장 공간을 고갈시킬 수 있습니다.
💡 쉬운 설명
권한이 제한된 사용자가 가짜 업로드 요청을 반복하여 서버의 저장 공간을 가득 채울 수 있는 문제입니다. 이로 인해 서버가 정상적으로 작동하지 않거나 다른 사용자가 파일을 올리지 못하게 될 수 있습니다.
🇺🇸 원문 (English)
Kirby is an open-source content management system. From 5.0.0 until 5.5.2, Kirby's REST API chunk upload handler in src/Api/Upload.php did not run the relevant upload authorization preflight in Kirby\Api\Upload::process() before Kirby\Api\Upload::processChunk() persisted chunk data. An authenticated user with the access.panel permission enabled but with files.create, files.replace, and user/users.update permissions disabled could submit requests with an Upload-Length header and leave unfinished chunks in site/cache/.uploads for 24 hours. Repeating this process could consume attacker-controlled temporary storage, prevent other users from uploading files, or prevent site logic from storing data, although final permission checks still prevented unauthorized files from reaching the content or site/accounts directories. This issue is fixed in version 5.5.2.
📍 영향받는 시스템
Kirby CMS 5.0.0 ~ 5.5.2
⚔️ 공격 벡터
인증된 사용자가 Upload-Length 헤더를 포함한 요청을 반복 전송하여 임시 저장 공간을 점유
🛡️ 대응 방법
Kirby CMS를 최신 버전인 5.5.2 이상으로 업데이트하십시오.
🔧 검증 코드
설치된 Kirby CMS의 버전을 확인하여 5.5.2 미만인지 체크합니다.
php -r "echo 'Kirby Version: ' . (class_exists('Kirby\Content\Content') ? 'Installed' : 'Not Found');" 2>/dev/null