🇰🇷 한글 설명
dataCycle-CORE 25.07.3 이하 버전의 코어 모듈에서, 인증되지 않은 공격자가 공개 라우트의 플래시 알림에 임의의 HTML을 삽입할 수 있습니다. 프론트엔드 토스트 컴포넌트가 이를 innerHTML로 DOM에 주입하여 반사형 DOM XSS가 발생하며, 조작된 링크(예: /docs)로 전달될 수 있습니다.
💡 쉬운 설명
누군가 만든 특수한 링크를 클릭하면 웹사이트에 악성 코드가 실행될 수 있습니다. 로그인하지 않은 사용자도 이 공격의 대상이 될 수 있습니다.
🇺🇸 원문 (English)
dataCycle is a data management system for centrally storing, managing, searching, finding, and distributing data. In dataCycle-CORE, the module handling core processing and framework rules, before and including version 25.07.3, any unauthenticated attacker can place arbitrary HTML into flash notifications on public routes and rely on the frontend toast component to inject that content into the DOM with `innerHTML`. This creates a reflected DOM XSS that can be delivered with a crafted link to a public page such as `/docs`. Because the vulnerable JavaScript is loaded by the normal application layout, the issue is not limited to a special debug page or an isolated admin-only view.
📍 영향받는 시스템
dataCycle-CORE 25.07.3 이하 버전
⚔️ 공격 벡터
조작된 URL(예: /docs)을 피해자에게 전달하여 플래시 알림을 통해 악성 스크립트를 DOM에 주입
🛡️ 대응 방법
dataCycle-CORE를 25.07.3 초과 버전으로 업데이트하고, 플래시 알림 출력 시 innerHTML 대신 textContent를 사용하도록 수정
🔧 검증 코드
출력된 버전 값이 25.07.3 이하이면 취약하므로 업데이트가 필요하며, 25.07.3 초과이면 패치가 적용된 것으로 판단합니다.
grep -ri 'version' /opt/dataCycle/package.json 2>/dev/null | head -n 1