🇰🇷 한글 설명
ApostropheCMS 1.25.0부터 1.28.0 버전 사이에서 Azure 백엔드를 사용하는 uploadfs 설정 시 계정 수준의 SAS 토큰이 모든 공개 첨부 파일 URL에 노출되는 취약점이 발견되었습니다. Azure SDK v12의 특성으로 인해 createContainer() 함수가 생성한 클라이언트가 SAS 쿼리 문자열을 상속받아 발생하며, 이는 1.28.0 버전에서 수정되었습니다.
💡 쉬운 설명
웹사이트에 올린 파일의 주소에 관리자 권한이 담긴 비밀 열쇠가 포함되어 외부로 유출되는 문제입니다. 이 열쇠를 가진 사람은 누구나 파일에 접근하거나 권한을 악용할 수 있습니다.
🇺🇸 원문 (English)
ApostropheCMS is an open-source Node.js content management system. From 1.25.0 until 1.28.0, uploadfs Azure backend leaks account-level SAS token into every public attachment URL. When uploadfs is configured with the Azure backend and sas: true, createContainer() builds the BlobServiceClient from a URL that embeds the full SAS query string, and Azure SDK v12 derived clients inherit that query string. This issue is fixed in version 1.28.0.
📍 영향받는 시스템
ApostropheCMS 1.25.0 ~ 1.28.0 (Azure backend 및 sas: true 설정 시)
⚔️ 공격 벡터
공개된 첨부 파일 URL을 통해 노출된 SAS 토큰을 탈취하여 Azure 스토리지 권한을 악용
🛡️ 대응 방법
ApostropheCMS를 1.28.0 이상의 버전으로 업데이트
🔧 검증 코드
명령어 결과에 1.25.0에서 1.28.0 사이의 버전이 나타나면 취약한 상태이며, 1.28.0 이상이면 안전합니다.
npm list apostrophecms | grep -E 'apostrophecms@(1\.[25-27]\.|1\.28\.)'