🇰🇷 한글 설명
ApostropheCMS 4.34.0 미만 버전에서 특정 API 엔드포인트를 통해 슬러그(slug) 사용 여부를 확인할 수 있는 취약점이 존재합니다. 권한이나 문서 유형에 대한 필터링 없이 모든 문서의 슬러그를 조회할 수 있어, 로그인한 사용자가 비공개 페이지나 초안, 보관된 콘텐츠의 정보를 열거할 수 있습니다.
💡 쉬운 설명
로그인한 사용자가 시스템 내의 숨겨진 페이지 이름들을 하나씩 대조하며 알아낼 수 있는 보안 허점입니다. 이를 통해 관리자가 숨겨두거나 작성 중인 비공개 문서의 존재를 파악할 수 있습니다.
🇺🇸 원문 (English)
ApostropheCMS is an open-source Node.js content management system. Prior to 4.34.0, 'POST /api/v1/@apostrophecms/doc/slugTaken' with body { "slug": "target-slug" } returns a boolean indicating whether a slug is in use across all document types and visibility levels, with no permission or type filter. Any logged-in user (including editors) can enumerate the slug space of private pages, drafts, and archived content. This issue is fixed in version 4.34.0.
📍 영향받는 시스템
ApostropheCMS 버전 4.34.0 미만
⚔️ 공격 벡터
로그인된 사용자가 POST /api/v1/@apostrophecms/doc/slugTaken API에 특정 슬러그를 전송하여 응답 확인
🛡️ 대응 방법
ApostropheCMS를 최신 보안 패치가 적용된 버전인 4.34.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 4.34.0보다 낮으면 취약한 상태입니다.
npm list @apostrophecms/core | grep -E '@apostrophecms/core@([0-9]+\.[0-9]+\.[0-9]+)'