🔍 CVE-2025-23167

6.5
CVSS Score
MEDIUM
2025-05-19
2026-06-17 08:52
✅ 완료

🇰🇷 한글 설명

Node.js 20의 HTTP 파서가 HTTP/1 헤더 종료를 부정확하게 처리하여 공격자가 요청 스머글링 공격을 수행할 수 있습니다. 이를 통해 프록시 기반의 접근 제어를 우회하고 무단 요청을 제출할 수 있습니다. llhttp v9 이상으로 업그레이드하면 해결됩니다.

💡 쉬운 설명

Node.js 20에서 웹 요청의 끝을 판단하는 방식에 결함이 있어서 공격자가 보안 필터를 우회할 수 있습니다. 마치 우편의 목적지를 조작하듯이 서버가 의도하지 않은 요청을 받도록 만들 수 있습니다.

🇺🇸 원문 (English)

A flaw in Node.js 20's HTTP parser allows improper termination of HTTP/1 headers using `\r\n\rX` instead of the required `\r\n\r\n`. This inconsistency enables request smuggling, allowing attackers to bypass proxy-based access controls and submit unauthorized requests. The issue was resolved by upgrading `llhttp` to version 9, which enforces correct header termination. Impact: * This vulnerability affects only Node.js 20.x users prior to the `llhttp` v9 upgrade.

📍 영향받는 시스템

Node.js 20.x (llhttp v9 이전 버전)

⚔️ 공격 벡터

HTTP/1 헤더 종료 형식을 \r\n\rX로 조작하여 요청 스머글링을 수행하고 프록시 필터를 우회

🛡️ 대응 방법

Node.js를 최신 버전으로 업그레이드하거나 llhttp를 v9 이상으로 업데이트

🔧 검증 코드

llhttp@9 이상이 나오면 안전하고, 9 미만이거나 결과가 없으면 즉시 업그레이드 필요

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

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js