🔍 CVE-2026-42040

3.7
CVSS Score
LOW
2026-04-24
2026-06-17 10:47
✅ 완료

🇰🇷 한글 설명

Axios 라이브러리의 encode() 함수에서 charMap이 null 바이트의 안전한 percent-encoding(%00)을 다시 원본 null 바이트(\x00)로 변환하는 취약점입니다. 표준 axios 요청 흐름에는 직접 영향을 미치지 않지만, encode() 함수를 직접 호출하는 경우 null 바이트 처리 우회 가능성이 있습니다.

💡 쉬운 설명

Axios가 안전하게 처리한 특수 문자를 다시 원래 상태로 되돌려서 보안 처리를 무효화할 수 있는 버그입니다. 일반적인 HTTP 요청에서는 문제가 없지만 특정 경우에는 취약해질 수 있습니다.

🇺🇸 원문 (English)

Axios is a promise based HTTP client for the browser and Node.js. Prior to 1.15.1 and 0.31.1, the encode() function in lib/helpers/AxiosURLSearchParams.js contains a character mapping (charMap) at line 21 that reverses the safe percent-encoding of null bytes. After encodeURIComponent('\x00') correctly produces the safe sequence %00, the charMap entry '%00': '\x00' converts it back to a raw null byte. Primary impact is limited because the standard axios request flow is not affected. This vulnerability is fixed in 1.15.1 and 0.31.1.

📍 영향받는 시스템

Axios < 1.15.1, < 0.31.1

⚔️ 공격 벡터

encode() 함수에 직접 null 바이트를 포함한 입력을 전달하여 percent-encoding 우회

🛡️ 대응 방법

Axios를 1.15.1 이상으로 업그레이드 (0.x 계열은 0.31.1 이상)

🔧 검증 코드

출력된 버전이 1.15.1 이상이면 안전함 (0.31.1 이상도 안전)

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

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js