🔍 CVE-2026-42035

7.4
CVSS Score
HIGH
2026-04-24
2026-06-17 10:47
✅ 완료

🇰🇷 한글 설명

Axios HTTP 어댑터의 프로토타입 오염 취약점으로, 공격자가 Object.prototype을 오염시켜 임의의 HTTP 헤더를 아웃바운드 요청에 주입할 수 있습니다. 평문 객체를 FormData로 잘못 인식하여 공격자가 제어하는 getHeaders() 함수를 실행하게 되며, 의존성 트리의 어떤 라이브러리에서든 프로토타입 오염이 발생하면 이 gadget이 트리거됩니다.

💡 쉬운 설명

Axios 라이브러리에 결함이 있어 공격자가 HTTP 요청 헤더를 조작할 수 있습니다. JavaScript 프로토타입 오염 공격을 통해 발생하며, 응용 프로그램의 모든 의존성에서 오염이 시작될 수 있습니다.

🇺🇸 원문 (English)

Axios is a promise based HTTP client for the browser and Node.js. Prior to 1.15.1 and 0.31.1, a prototype pollution gadget exists in the Axios HTTP adapter (lib/adapters/http.js) that allows an attacker to inject arbitrary HTTP headers into outgoing requests. The vulnerability exploits duck-type checking of the data payload, where if Object.prototype is polluted with getHeaders, append, pipe, on, once, and Symbol.toStringTag, Axios misidentifies any plain object payload as a FormData instance and calls the attacker-controlled getHeaders() function, merging the returned headers into the outgoing request. The vulnerable code resides exclusively in lib/adapters/http.js. The prototype pollution source does not need to originate from Axios itself — any prototype pollution primitive in any dependency in the application's dependency tree is sufficient to trigger this gadget. This vulnerability is fixed in 1.15.1 and 0.31.1.

📍 영향받는 시스템

Axios < 1.15.1 and < 0.31.1 (Node.js 및 브라우저 환경)

⚔️ 공격 벡터

Object.prototype에 getHeaders, append, pipe, on, once, Symbol.toStringTag를 주입하여 FormData 오인 유발

🛡️ 대응 방법

Axios를 1.15.1 또는 0.31.1 이상으로 업그레이드

🔧 검증 코드

출력된 Axios 버전이 1.15.1 미만 또는 0.31.1 미만이면 취약 상태

Shell / Script
grep '"axios"' package.json 2>/dev/null | head -1 || npm list axios 2>/dev/null | grep axios | head -1

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N

💻 영향받는 소프트웨어

Node.js