🇰🇷 한글 설명
Node.js의 JS-YAML 모듈 2.0.5 이전 버전에서 안전하지 않은 !!js/function 태그를 제대로 검증하지 않는 취약점입니다. 공격자가 특수 제작된 YAML 문자열을 입력하여 eval 연산을 트리거하고 임의의 코드를 실행할 수 있습니다.
💡 쉬운 설명
YAML 파서가 특정 코드 실행 태그를 안전하게 처리하지 못해, 악의적인 데이터로 서버에서 자유로운 프로그램 실행을 허용합니다. Node.js 기반 웹 애플리케이션이 외부 입력을 YAML로 파싱할 때 위험합니다.
🇺🇸 원문 (English)
The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, which allows remote attackers to execute arbitrary code via a crafted string that triggers an eval operation.
📍 영향받는 시스템
JS-YAML < 2.0.5 for Node.js
⚔️ 공격 벡터
원격 공격자가 !!js/function 태그가 포함된 YAML 입력을 전송하여 eval 연산 트리거 및 임의 코드 실행
🛡️ 대응 방법
JS-YAML을 2.0.5 이상으로 즉시 업그레이드 또는 package.json에서 버전 제한 제거 후 npm update 실행
🔧 검증 코드
설치된 js-yaml 버전이 2.0.5 이상이면 패치 완료, 그 이하면 여전히 취약
npm list js-yaml 2>/dev/null | grep -E 'js-yaml' | head -1