🇰🇷 한글 설명
Axios 1.15.0부터 1.20.0 버전 사이에서 NO_PROXY 설정에 CIDR 형식을 사용할 경우, 이를 네트워크 범위가 아닌 단순 텍스트 호스트네임 접미사로 잘못 처리하는 취약점이 존재합니다. 이로 인해 프록시 우회 규칙이 적용되지 않아 프록시를 통해 요청이 전송될 수 있으며, 공격자가 HTTP 요청의 내용을 가로채거나 수정할 위험이 있습니다.
💡 쉬운 설명
특정 네트워크 주소를 프록시 서버를 거치지 않게 설정해도, 프로그램이 이를 제대로 인식하지 못해 보안이 취약한 통로로 데이터가 전달될 수 있는 문제입니다. 이 과정에서 중요한 정보가 중간에 노출되거나 변조될 위험이 있습니다.
🇺🇸 원문 (English)
Axios is a promise-based HTTP client for the browser and Node.js. From 1.15.0 until 1.20.0, Axios shouldBypassProxy treats the NO_PROXY CIDR form as a textual hostname suffix instead of evaluating the network range. A request targets an address covered by a CIDR entry in NO_PROXY while a proxy is configured. The CIDR bypass rule is not matched, so the request is sent through the configured proxy. For plaintext HTTP, the proxy can observe and modify URLs, headers, and bodies; for HTTPS, it can observe connection metadata and CONNECT requests. This issue is fixed in version 1.20.0.
📍 영향받는 시스템
Axios version 1.15.0 to 1.20.0
⚔️ 공격 벡터
프록시 설정 환경에서 NO_PROXY에 지정된 CIDR 범위 내의 주소로 요청을 보낼 때 프록시를 강제로 경유하게 함
🛡️ 대응 방법
Axios를 1.20.0 이상의 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 axios의 버전이 1.15.0 이상 1.20.0 미만인지 확인하십시오.
npm list axios | grep axios