🇰🇷 한글 설명
ApostropheCMS의 SEO 관련 필드(SEO Title, Meta Description)에서 사용자 입력이 적절히 인코딩되지 않아 Stored XSS 취약점이 발생합니다. 공격자는 "></title><script>alert(1)</script> 형식의 페이로드를 주입하여 페이지를 보는 인증된 사용자의 브라우저에서 임의의 JavaScript를 실행할 수 있으며, 이를 통해 민감한 정보를 탈취할 수 있습니다.
💡 쉬운 설명
ApostropheCMS에서 웹사이트 제목과 설명을 입력하는 필드에 악의적인 코드를 숨길 수 있습니다. 이 페이지를 본 관리자의 브라우저에서 자동으로 코드가 실행되어 개인정보나 접근 권한이 도용될 수 있습니다.
🇺🇸 원문 (English)
ApostropheCMS is an open-source Node.js content management system. Versions 4.28.0 and prior contain a stored cross-site scripting vulnerability in SEO-related fields (SEO Title and Meta Description), where user-controlled input is rendered without proper output encoding into HTML contexts including <title> tags, <meta> attributes, and JSON-LD structured data. An attacker can inject a payload such as "></title><script>alert(1)</script> to break out of the intended HTML context and execute arbitrary JavaScript in the browser of any authenticated user who views the affected page. This can be leveraged to perform authenticated API requests, access sensitive data such as usernames, email addresses, and roles via internal APIs, and exfiltrate it to an attacker-controlled server. This issue has been fixed in version 4.29.0.
📍 영향받는 시스템
ApostropheCMS 4.28.0 이전 모든 버전
⚔️ 공격 벡터
SEO Title 또는 Meta Description 필드에 "></title><script> 형식의 JavaScript 페이로드를 주입하여 HTML 컨텍스트 탈출 및 임의 코드 실행
🛡️ 대응 방법
ApostropheCMS를 4.29.0 이상으로 즉시 업그레이드
🔧 검증 코드
버전이 4.29.0 이상이면 패치됨, 4.28.0 이하면 즉시 업그레이드 필요
grep '"apostrophe-cms"' package.json | head -1