🇰🇷 한글 설명
ApostropheCMS의 4.34.0 미만 버전에서 발생하는 취약점으로, 색상 필드 검증 로직이 불완전하여 발생합니다. 인증된 사용자가 유효한 색상 코드 뒤에 임의의 HTML 코드를 삽입할 수 있으며, 이 값이 렌더링될 때 저장형 XSS 공격이 실행됩니다.
💡 쉬운 설명
웹사이트의 색상을 설정하는 칸에 색상 대신 악성 코드를 몰래 끼워 넣을 수 있는 문제입니다. 이렇게 저장된 코드는 다른 사용자가 해당 페이지를 볼 때 자동으로 실행되어 정보를 탈취할 수 있습니다.
🇺🇸 원문 (English)
ApostropheCMS is an open-source Node.js content management system. Prior to 4.34.0, the color field accepts trailing content after a valid rgb() or hsl() prefix because its TinyColor validation does not require the entire value to match a color. An authenticated user with edit rights can store arbitrary HTML after a valid color prefix. When the stored value is rendered, the payload executes, resulting in stored XSS. This issue is fixed in version 4.34.0.
📍 영향받는 시스템
ApostropheCMS 4.34.0 미만 버전
⚔️ 공격 벡터
권한이 있는 사용자가 색상 입력 필드에 유효한 색상 값과 악성 HTML을 함께 입력하여 저장하는 방식
🛡️ 대응 방법
ApostropheCMS를 최신 버전인 4.34.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 정보가 4.34.0 미만인지 확인하여 취약 여부를 판단합니다.