🇰🇷 한글 설명
ApostropheCMS 4.29.0 이하 버전은 비밀번호 재설정 URL 생성 시 공격자가 조작한 Host 헤더를 신뢰하여 호스트 이름 분할 취약점이 발생합니다. 공격자는 피해자의 이메일을 알고 있을 경우 악성 재설정 링크를 발송하여 유효한 토큰을 탈취하고 계정을 완전히 장악할 수 있습니다.
💡 쉬운 설명
비밀번호 재설정 링크를 생성할 때 사이트의 주소가 아닌 공격자가 지정한 주소를 사용하도록 속이는 취약점입니다. 공격자가 이 링크를 통해 비밀번호 변경 토큰을 가로채면 피해자의 계정을 마음대로 사용할 수 있습니다.
🇺🇸 원문 (English)
ApostropheCMS is an open-source Node.js content management system. Versions up to and including 4.29.0 have a password reset flow that constructs the reset URL using `req.hostname`, which is derived directly from the attacker-controlled HTTP `Host` header when `apos.baseUrl` is not explicitly configured. An unauthenticated attacker who knows a victim's email address can send a crafted reset request that causes the application to email the victim a reset link pointing to the attacker's domain. When the victim clicks the link, the valid reset token is delivered to the attacker, enabling full account takeover. As of time of publication, no known patched versions are available.
📍 영향받는 시스템
ApostropheCMS <= 4.29.0
⚔️ 공격 벡터
HTTP Host 헤더 조작을 통한 악성 비밀번호 재설정 링크 발송 및 토큰 탈취
🛡️ 대응 방법
apos.baseUrl 설정을 명시적으로 구성하거나 공식 패치가 출시될 때까지 업그레이드를 보류하세요.
🔧 검증 코드
출력된 버전 번호가 4.29.0 이하이거나 패치 버전이 없으면 영향을 받습니다.
npm list apostrophe 2>/dev/null | grep -E 'apostrophe@'