🇰🇷 한글 설명
Axios 1.0.0부터 1.15.2 이전 버전에서 HTTP 어댑터의 5개 설정 속성(auth, baseURL, socketPath, beforeRedirect, insecureHTTPParser)이 hasOwnProperty 검사 없이 직접 접근되어 프로토타입 폴루션에 취약합니다. 다른 의존성에 의해 Object.prototype이 오염되면 Axios는 모든 HTTP 요청에서 자동으로 오염된 값을 사용하게 됩니다. 1.15.2에서 패치되었습니다.
💡 쉬운 설명
Axios 라이브러리가 특정 설정값을 제대로 검증하지 않아, 악의적인 코드가 이 값들을 조작할 수 있습니다. 조작된 설정은 모든 HTTP 요청에 적용되어 데이터 탈취나 요청 조작이 가능합니다.
🇺🇸 원문 (English)
Axios is a promise based HTTP client for the browser and Node.js. From version 1.0.0 to before version 1.15.2, fFive config properties (auth, baseURL, socketPath, beforeRedirect, and insecureHTTPParser) in the HTTP adapter are read via direct property access without hasOwnProperty guards, making them exploitable as prototype pollution gadgets. When Object.prototype is polluted by another dependency in the same process, axios silently picks up these polluted values on every outbound HTTP request. This issue has been patched in version 1.15.2.
📍 영향받는 시스템
Axios 1.0.0 ~ 1.15.1
⚔️ 공격 벡터
다른 의존성을 통해 Object.prototype을 오염시켜 Axios의 설정을 조작
🛡️ 대응 방법
Axios를 1.15.2 이상으로 업그레이드
🔧 검증 코드
출력된 버전이 1.15.2 이상이면 안전, 1.15.1 이하면 즉시 업그레이드 필요
npm list axios 2>/dev/null | grep -E 'axios@' | grep -oE '[0-9]+\.[0-9]+\.[0-9]+'