🔍 CVE-2026-42037

5.3
CVSS Score
MEDIUM
2026-04-24
2026-06-17 10:47
✅ 완료

🇰🇷 한글 설명

Axios의 FormDataPart 생성자가 value.type을 검증 없이 Content-Type 헤더에 직접 삽입하여 CRLF 인젝션을 허용합니다. 공격자가 Blob/File 객체의 .type 속성을 제어하면 multipart 폼 데이터 본문에 임의의 MIME 헤더를 주입할 수 있으며, 1.15.1에서 수정되었습니다.

💡 쉬운 설명

Axios 파일 업로드 기능에서 파일 타입 정보를 제대로 검증하지 않아 공격자가 악의적인 데이터를 삽입할 수 있습니다. 이를 통해 서버로 전송되는 요청 구조를 조작하여 다양한 공격을 수행할 수 있습니다.

🇺🇸 원문 (English)

Axios is a promise based HTTP client for the browser and Node.js. From 1.0.0 to before 1.15.1, the FormDataPart constructor in lib/helpers/formDataToStream.js interpolates value.type directly into the Content-Type header of each multipart part without sanitizing CRLF (\r\n) sequences. An attacker who controls the .type property of a Blob/File-like object (e.g., via a user-uploaded file in a Node.js proxy service) can inject arbitrary MIME part headers into the multipart form-data body. This bypasses Node.js v18+ built-in header protections because the injection targets the multipart body structure, not HTTP request headers. This vulnerability is fixed in 1.15.1.

📍 영향받는 시스템

Axios 1.0.0 ~ 1.15.0 (Node.js 환경)

⚔️ 공격 벡터

사용자 업로드 파일의 .type 속성에 CRLF 시퀀스를 포함시켜 multipart 폼 본문에 임의의 MIME 헤더 주입

🛡️ 대응 방법

Axios를 1.15.1 이상으로 업그레이드 (npm install axios@^1.15.1)

🔧 검증 코드

출력된 버전이 1.15.1 이상이면 안전, 1.15.0 이하면 취약함

Shell / Script
npm list axios 2>/dev/null | grep -E 'axios@([0-9]+\.[0-9]+\.[0-9]+)'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js