🇰🇷 한글 설명
Cotonti 1.0.0 버전의 comments 플러그인 내 EditAction에서 base64로 디코딩된 cb 파라미터를 제한 없이 unserialize() 함수로 전달하는 취약점이 발견되었습니다. 댓글 작성 권한이 있는 등록된 사용자는 임의의 PHP 객체를 생성하여 파일 쓰기 또는 코드 실행을 수행할 수 있습니다.
💡 쉬운 설명
댓글을 쓸 수 있는 사용자가 특수하게 조작된 데이터를 보내면, 웹사이트가 이를 잘못 처리하여 해커가 서버에 몰래 파일을 만들거나 명령을 내릴 수 있는 문제입니다. 이는 마치 허가된 방문객이 집 안의 물건을 마음대로 조작하여 집 전체를 장악하는 것과 같습니다.
🇺🇸 원문 (English)
Cotonti 1.0.0 passes the base64-decoded cb parameter to unserialize() without allowed_classes restriction in the comments plugin EditAction. Registered users with comment write permissions can instantiate arbitrary PHP objects and potentially achieve file write or code execution through gadget chains.
📍 영향받는 시스템
Cotonti 1.0.0 (comments plugin 포함)
⚔️ 공격 벡터
댓글 작성 권한을 가진 사용자가 조작된 base64 인코딩된 cb 파라미터를 EditAction에 전송
🛡️ 대응 방법
unserialize() 함수 사용 시 allowed_classes 옵션을 설정하여 허용된 클래스만 처리하도록 수정하거나, 데이터 직렬화 방식을 JSON 등으로 변경하십시오.
🔧 검증 코드
출력 결과가 'Vulnerable'이면 해당 버전이 설치되어 취약할 가능성이 높음을 의미합니다.
php -r 'echo "Cotonti 1.0.0";' | grep -q '1.0.0' && echo 'Vulnerable' || echo 'Not Vulnerable'