🇰🇷 한글 설명
IBM Carbon Charts 0.4.0부터 1.27.19 버전까지의 MeterChart 컴포넌트에서 교차 사이트 스크립팅(XSS) 취약점이 존재합니다. 제목이 컨테이너 너비를 초과할 때 Title.truncateTitle() 함수가 사용자 입력 레이블 텍스트의 일부를 sanitize 없이 innerHTML로 DOM에 다시 삽입합니다. 원격 공격자는 이를 이용해 피해자 브라우저 세션에서 임의의 JavaScript를 실행할 수 있습니다.
💡 쉬운 설명
차트에 표시되는 제목 글자가 너무 길어 잘릴 때, 그 안에 숨겨진 악성 스크립트가 웹 페이지에서 실행될 수 있습니다. 공격자는 이를 통해 사용자의 로그인 정보나 세션을 탈취할 수 있습니다.
🇺🇸 원문 (English)
IBM Carbon Charts 0.4.0 through 1.27.19 is vulnerable to cross-site scripting. The MeterChart component's Title.truncateTitle() function re-inserts a substring of user-supplied label text into the DOM via an unsanitized innerHTML write when the title exceeds the available container width. A remote attacker could exploit this vulnerability to execute arbitrary JavaScript in the victim's browser session.
📍 영향받는 시스템
IBM Carbon Charts 0.4.0 ~ 1.27.19 버전을 사용하는 웹 애플리케이션 (MeterChart 컴포넌트)
⚔️ 공격 벡터
공격자가 조작된 레이블 텍스트를 차트에 입력하여 제목이 잘릴 때 악성 스크립트가 DOM에 삽입되도록 유도
🛡️ 대응 방법
IBM Carbon Charts를 1.27.19 초과 버전으로 업그레이드하고, 사용자 입력은 출력 전 반드시 이스케이프 처리
🔧 검증 코드
출력된 버전이 0.4.0 이상 1.27.19 이하이면 취약하며, 1.27.19 초과이면 패치된 상태입니다.
npm ls @carbon/charts 2>/dev/null | grep -E '@carbon/charts@'