🇰🇷 한글 설명
Node.js용 HTTP/1.1 클라이언트인 undici의 5.7.1 미만 버전에서 요청 헤더에 CRLF(줄 바꿈) 시퀀스를 주입할 수 있는 취약점이 발견되었습니다. 이 취약점은 공격자가 HTTP 요청 구조를 조작할 수 있게 만듭니다. 5.8.0 버전에서 수정되었습니다.
💡 쉬운 설명
웹사이트에 데이터를 보낼 때, 공격자가 몰래 줄 바꿈 문자를 끼워 넣어 명령어를 조작할 수 있는 문제입니다. 이를 통해 정상적인 요청을 가짜 요청으로 바꿀 수 있습니다.
🇺🇸 원문 (English)
undici is an HTTP/1.1 client, written from scratch for Node.js. It is possible to inject CRLF sequences into request headers in undici in versions less than 5.7.1. A fix was released in version 5.8.0. Sanitizing all HTTP headers from untrusted sources to eliminate `\r\n` is a workaround for this issue.
📍 영향받는 시스템
undici versions < 5.7.1
⚔️ 공격 벡터
신뢰할 수 없는 소스에서 유입된 HTTP 헤더 값에 CRLF(\r\n) 시퀀스를 주입하여 요청을 조작함
🛡️ 대응 방법
undici 라이브러리를 5.8.0 이상의 버전으로 업데이트하거나, 모든 헤더 값에서 \r\n 문자를 제거하도록 처리함
🔧 검증 코드
출력된 결과에서 undici의 버전을 확인하여 5.7.1 미만인지 체크함