🔍 CVE-2026-118243

5.3
CVSS Score
MEDIUM
2026-10-28
2026-11-02 21:17
✅ 완료

🇰🇷 한글 설명

Highcharts JS의 Highcharts Dashboards 1.0.0부터 4.2.2 미만 버전에서는 DataCursor 리스너와 상태 맵을 DataTable ID를 키로 하는 일반 객체에 저장합니다. dataPool 커넥터 설정에서 __proto__를 테이블 ID로 지정하면 Object.prototype에 접근하게 되어 모든 객체에 보이는 속성이 생성될 수 있으며, 지속형 동기화 상태가 예외를 던져 extremes 동기화 등의 기능을 중단시킬 수 있습니다. 악의적인 대시보드 설정과 컴포넌트 동기화 활성화가 필요하며, 대시보드 로드 외의 사용자 상호작용은 필요하지 않습니다. 이 문제는 4.2.2 버전에서 수정되었습니다.

💡 쉬운 설명

차트 대시보드 설정에 특정 문자열을 넣으면 프로그램 전체의 기본 구조에 잘못된 값이 추가될 수 있습니다. 이로 인해 차트 동기화 기능이 멈추거나 오작동할 수 있습니다.

🇺🇸 원문 (English)

Highcharts JS is a JavaScript charting library based on SVG. From 1.0.0 until 4.2.2, Highcharts Dashboards stores DataCursor listener and state maps in plain objects keyed by DataTable ID. A __proto__ table ID supplied through dataPool connector configuration resolves to Object.prototype, and sync registration creates an enumerable property there whose suffix can be influenced through the sync group option. The property is visible on every object, and lasting sync states can throw and stop features such as extremes synchronization. Exploitation requires untrusted dashboard configuration and an enabled component sync, but no user interaction beyond loading the board. This issue is fixed in 4.2.2.

📍 영향받는 시스템

Highcharts Dashboards 1.0.0 이상 4.2.2 미만 버전

⚔️ 공격 벡터

신뢰할 수 없는 대시보드 설정(dataPool 커넥터의 테이블 ID에 __proto__ 지정)을 로드하도록 유도하여 프로토타입 오염 및 동기화 기능 중단을 유발

🛡️ 대응 방법

Highcharts 4.2.2 이상으로 업그레이드하고, 신뢰할 수 없는 출처의 대시보드 설정을 로드하지 않도록 합니다.

🔧 검증 코드

출력된 버전이 4.2.2 미만이면 취약하며, 4.2.2 이상이면 패치가 적용된 것입니다. 아무 결과도 없으면 해당 패키지가 설치되어 있지 않은 것입니다.

Shell / Script
npm ls highcharts 2>/dev/null | grep -i highcharts || grep -rh '"highcharts"' node_modules/highcharts/package.json 2>/dev/null | head -1

📊 CVSS Vector String

CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L/SC:L/SI:L/SA:L