🇰🇷 한글 설명
Axios 1.15.2부터 1.20.0 버전 사이에서 Node HTTP 어댑터가 자체적인 createConnection 값을 제공하지 않는 취약점이 발견되었습니다. 프로토타입 오염을 통해 Object.prototype.createConnection에 함수를 주입하면, 공격자가 제어하는 엔드포인트로 요청을 전달하여 인증 정보 탈취 및 조작된 응답을 받을 수 있습니다.
💡 쉬운 설명
프로그램의 기본 설계도를 조작하여, 원래 가려던 목적지가 아닌 공격자의 서버로 데이터가 몰래 전달되게 만드는 취약점입니다. 이 과정에서 아이디나 비밀번호 같은 중요한 정보가 유출될 수 있습니다.
🇺🇸 원문 (English)
Axios is a promise-based HTTP client for the browser and Node.js. From 1.15.2 until 1.20.0, the Node HTTP adapter in lib/adapters/http.js supplies request options without an own createConnection value. A separate same-process prototype-pollution flaw places a function on Object.prototype.createConnection. Node resolves and invokes the inherited createConnection socket factory, allowing the attacker-controlled function to select the transport endpoint. The attacker endpoint can receive request headers and bodies, including credentials, and return attacker-controlled responses while the URL appears legitimate. This issue is fixed in version 1.20.0.
📍 영향받는 시스템
Axios version 1.15.2 ~ 1.20.0
⚔️ 공격 벡터
프로토타입 오염(Prototype Pollution)을 이용한 함수 주입 및 HTTP 요청 가로채기
🛡️ 대응 방법
Axios를 1.20.0 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 axios의 버전이 1.15.2보다 크고 1.20.0보다 작은지 확인합니다.
npm list axios | grep axios