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