🔍 CVE-2026-118663

5.3
CVSS Score
MEDIUM
2026-10-28
2026-10-29 19:17
✅ 완료

🇰🇷 한글 설명

@hono/node-server는 Node.js에서 Hono 애플리케이션을 실행하게 해주는 패키지입니다. 1.19.10부터 2.1.3 이전 버전까지 serveStatic이 라우팅을 위해 이미 디코딩된 요청 경로를 한 번 더 디코딩하여, 잘못된 퍼센트 인코딩 시퀀스로 인해 미들웨어 경로 평가와 정적 파일 해석이 서로 다른 디렉터리를 대상으로 할 수 있습니다. 인증되지 않은 공격자가 보호된 정적 경로의 미들웨어를 우회해 설정된 정적 루트 내부 파일을 읽을 수 있으나, 루트 바깥으로의 디렉터리 탐색은 허용되지 않습니다. 2.1.3 버전에서 수정되었습니다.

💡 쉬운 설명

웹 서버가 주소를 두 번 해석하는 실수 때문에, 로그인 등 접근 제어 규칙을 피해 공개 폴더 안의 파일을 볼 수 있는 문제입니다. 공개 폴더 밖의 파일은 여전히 보호됩니다.

🇺🇸 원문 (English)

@hono/node-server allows running the Hono application on Node.js. From 1.19.10 until 2.1.3, serveStatic decodes a request path a second time after Hono has already decoded it for routing, so a malformed percent-encoded sequence can make route middleware evaluate an encoded path while static file resolution uses a different directory. An unauthenticated attacker can bypass middleware mounted on a protected static prefix and read a file inside the configured static root, although the flaw does not permit traversal outside that root. This issue is fixed in version 2.1.3.

📍 영향받는 시스템

@hono/node-server 1.19.10 이상 2.1.3 미만 버전을 사용하는 Node.js 기반 Hono 애플리케이션

⚔️ 공격 벡터

잘못된 퍼센트 인코딩 경로를 포함한 HTTP 요청을 보내 보호된 정적 경로의 미들웨어를 우회하고 정적 루트 내 파일을 조회

🛡️ 대응 방법

@hono/node-server를 2.1.3 이상으로 업그레이드(npm install @hono/node-server@latest)

🔧 검증 코드

출력된 버전이 2.1.3 미만이면 취약하며, 2.1.3 이상이면 패치가 적용된 것입니다.

Shell / Script
npm ls @hono/node-server 2>/dev/null | grep -E '@hono/node-server@'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js