🔍 CVE-2026-105482

7.4
CVSS Score
HIGH
2026-10-23
2026-10-23 19:42
✅ 완료

🇰🇷 한글 설명

Node.js의 dns.resolve*() 함수와 dns.reverse()가 NUL 바이트를 포함한 호스트명을 오류 없이 잘라내어 처리하는 취약점입니다. 이는 CVE-2026-48930의 불완전한 수정으로, 해당 패치는 dns.lookup()과 net/tls 호스트 옵션만 다루었습니다. 공격자는 검증을 통과한 이름과 다른 도메인의 레코드를 응답받을 수 있습니다.

💡 쉬운 설명

Node.js가 도메인 이름 중간의 특수 문자 뒤를 무시하고 앞부분만 조회합니다. 이 때문에 검증된 이름과 다른 주소의 결과를 신뢰하게 될 수 있습니다.

🇺🇸 원문 (English)

A flaw in Node.js DNS resolution allows hostnames containing a NUL byte to be silently truncated by the dns.resolve*() functions and dns.reverse(). This is an incomplete fix of CVE-2026-48930, which only covered dns.lookup() and the net/tls host options. Because the name is passed to c-ares as a C string, resolving attacker.example\0.trusted.example queries attacker.example and returns its records without any error. Applications that validate a hostname, for example against a domain allowlist, and then resolve it with dns.resolve*() can act on records for a different name than the one they validated. This vulnerability affects Node.js 26.x, 24.x, and 22.x.

📍 영향받는 시스템

Node.js 22.x, 24.x, 26.x (패치 이전 버전)

⚔️ 공격 벡터

공격자가 'attacker.example\0.trusted.example' 형태의 호스트명을 입력하면 앞부분 도메인의 레코드가 반환되어 도메인 허용목록 검증이 우회됩니다.

🛡️ 대응 방법

Node.js를 해당 보안 업데이트가 적용된 최신 22.x/24.x/26.x 버전으로 업그레이드하고, 입력 문자열에서 NUL 바이트를 사전에 거부하십시오.

🔧 검증 코드

출력된 버전이 22.x, 24.x, 26.x 중 하나이고 보안 패치 이전 버전이라면 취약할 수 있으므로 공식 릴리스 노트에서 해당 CVE의 수정 버전을 확인해 업그레이드하십시오.

Shell / Script
node -v

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js
🇰🇷 KISA(한국인터넷진흥원) 보안 권고 이 CVE에 대한 한국 공식 권고 (1건)
Node.js 제품 보안 업데이트 권고 P4
📅 2026-10-23 · sec_notice
Node.js 제품에서 Null Byte 처리 미흡, 인증서 검증 오류, 경계 외 쓰기 등 보안 취약점이 발견되었습니다. 해당 제품의 구버전을 사용하는 사용자는 보안 위협 방지를 위해 최신 버전으로 업데이트해야 합니다.
KISA 원문 →