🇰🇷 한글 설명
ApostropheCMS 4.33.0 미만 버전에서 특정 REST API 경로에 인증 확인 절차가 누락되어 발생하는 취약점입니다. 인증되지 않은 공격자가 특정 문서의 ID를 사용하여 해당 문서의 존재 여부와 게시된 언어(locale) 정보를 무단으로 조회할 수 있습니다.
💡 쉬운 설명
로그인을 하지 않은 사람도 특정 문서가 존재하는지, 어떤 언어로 작성되었는지 몰래 확인할 수 있는 보안 허점이 발견되었습니다. 이는 시스템 내부의 문서 정보를 외부로 노출시킬 위험이 있습니다.
🇺🇸 원문 (English)
ApostropheCMS is an open-source Node.js content management system. Prior to 4.33.0, the REST route GET /api/v1/<piece-type>/:_id/locales (and the equivalent page route) does not apply the publicApiCheckAsync gate that ApostropheCMS's other read routes enforce. An unauthenticated caller can therefore query this route for any document _id and learn whether the document exists and which locales it is published in — a document-existence and locale-metadata disclosure that the read-API is otherwise supposed to gate. This issue is fixed in version 4.33.0.
📍 영향받는 시스템
ApostropheCMS 4.33.0 미만 버전
⚔️ 공격 벡터
인증 없이 특정 API 경로(GET /api/v1/<piece-type>/:_id/locales)에 요청을 보내 문서 메타데이터를 탈취
🛡️ 대응 방법
ApostropheCMS를 최신 버전인 4.33.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 정보가 4.33.0 미만인지 확인하여 취약 여부를 판단합니다.
npm list apostrophe-cms || echo 'Not installed via npm'