🇰🇷 한글 설명
Node.js HTTP 클라이언트의 결함으로 인해 Node.js 기반 포워딩 프록시에서 요청 비동기화(Request Desynchronization)가 발생할 수 있습니다. 특정 헤더 수가 제한을 초과할 경우 Content-Length와 같은 헤더가 사용자 영역에서 숨겨지지만, 내부적으로는 요청 본문이 전달되어 백엔드 연결의 상태를 교란할 수 있습니다.
💡 쉬운 설명
웹 서버가 전달받은 데이터의 길이를 제대로 파악하지 못하게 만들어, 공격자가 보낸 요청이 다른 사용자의 요청과 뒤섞이게 만들 수 있는 문제입니다. 이로 인해 데이터가 잘못 전달되거나 보안 설정이 무력화될 위험이 있습니다.
🇺🇸 원문 (English)
A flaw in Node.js HTTP client can cause a request desynchronization for Node.js-based forwarding proxies that rebuild outbound headers from the visible `IncomingMessage` headers while piping the original body to a reused backend connection.
Node.js can omit headers beyond `maxHeadersCount` / `maxHeaderPairs` from `req.headers`, `req.rawHeaders`, and `req.headersDistinct`, while still using those omitted headers internally for HTTP message framing. In particular, `Content-Length` can be hidden from userland while the request body is still delivered.
This vulnerability affects all supported release lines: **Node.js 22**, **Node.js 24**, and **Node.js 26**.
📍 영향받는 시스템
Node.js 22, Node.js 24, Node.js 26 (모든 지원 릴리스 라인)
⚔️ 공격 벡터
과도한 수의 HTTP 헤더를 포함한 요청을 프록시에 전송하여 헤더 불일치를 유도함
🛡️ 대응 방법
Node.js를 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 Node.js 22, 24, 26 중 하나인지 확인하십시오.