🇰🇷 한글 설명
Axios의 mergeConfig 함수가 __proto__ 속성을 포함한 설정 객체 처리 시 TypeError를 발생시켜 완전한 서비스 거부를 유발합니다. JSON.parse()를 통해 생성된 악의적인 설정 객체로 공격 가능하며, 0.30.3 및 1.13.5 버전 이상에서 수정되었습니다.
💡 쉬운 설명
Axios 라이브러리가 특정 형태의 데이터를 처리할 때 정지되는 문제입니다. 공격자가 특수한 형식의 요청을 보내면 애플리케이션이 작동을 멈춥니다.
🇺🇸 원문 (English)
Axios is a promise based HTTP client for the browser and Node.js. Prior to versions 0.30.3 and 1.13.5, the mergeConfig function in axios crashes with a TypeError when processing configuration objects containing __proto__ as an own property. An attacker can trigger this by providing a malicious configuration object created via JSON.parse(), causing complete denial of service. This vulnerability is fixed in versions 0.30.3 and 1.13.5.
📍 영향받는 시스템
Axios 0.30.3 미만 및 1.13.5 미만 버전 (Node.js 및 브라우저 환경)
⚔️ 공격 벡터
JSON.parse()로 생성된 __proto__ 속성을 포함한 악의적 설정 객체를 mergeConfig에 전달
🛡️ 대응 방법
Axios를 0.30.3 이상(0.x 계열) 또는 1.13.5 이상(1.x 계열)으로 업그레이드
🔧 검증 코드
출력된 버전이 0.30.3 이상(0.x) 또는 1.13.5 이상(1.x)이면 안전하며, 그 이하이면 긴급 업그레이드 필요
node -e "console.log(require('axios/package.json').version)" 2>/dev/null || npm list axios 2>/dev/null | head -2