🇰🇷 한글 설명
ApostropheCMS 4.32.0 미만 버전에서 페이지 모듈의 move() 작업 시 대상 부모의 _create 권한을 제대로 검증하지 않는 취약점이 발견되었습니다. 인증된 편집자나 기여자가 REST API를 통해 페이지를 제한된 하위 트리로 이동시켜 보호된 페이지들의 순서를 변경할 수 있습니다.
💡 쉬운 설명
권한이 낮은 사용자가 시스템의 규칙을 어기고 페이지를 허용되지 않은 위치로 옮길 수 있는 문제입니다. 이를 통해 관리자가 보호하는 페이지들의 순서를 마음대로 바꿀 수 있습니다.
🇺🇸 원문 (English)
ApostropheCMS is an open-source Node.js content management system. Prior to 4.32.0, the page module's move() operation fails to enforce the destination parent's _create permission because its oldParent archive condition disables the check for ordinary moves, allowing an authenticated editor or contributor to use _targetId and _position through the page REST update endpoint to move a controlled page into a restricted subtree and make nudgeNewPeers() updateMany re-rank protected sibling pages. This issue is fixed in version 4.32.0.
📍 영향받는 시스템
ApostropheCMS 4.32.0 미만 버전
⚔️ 공격 벡터
인증된 사용자가 페이지 REST 업데이트 엔드포인트의 _targetId 및 _position 파라미터를 조작하여 공격
🛡️ 대응 방법
ApostropheCMS를 4.32.0 이상 버전으로 업데이트
🔧 검증 코드
출력 결과에 표시된 버전이 4.32.0 이상인지 확인하여 취약 여부를 판단합니다.
npm list apostrophe-cms | grep -E 'apostrophe-cms@([0-4]\.[0-3][0-9]\.[0-9]|4\.32\.[0-9])'