🇰🇷 한글 설명
@hono/node-server 1.19.13 이전 버전의 serveStatic에서 반복된 슬래시(//)를 이용한 경로 정규화 불일치로 인해 미들웨어 인증을 우회할 수 있습니다. /admin/*과 같은 라우트 기반 미들웨어 보호를 회피하여 보호된 정적 파일에 무단 접근이 가능합니다.
💡 쉬운 설명
웹 경로에 슬래시를 여러 번 사용(/admin//secret.txt)하면 보호된 파일의 접근 제한을 우회할 수 있습니다. 관리자 폴더가 차단되어 있어도 경로를 조작하면 들어갈 수 있다는 뜻입니다.
🇺🇸 원문 (English)
@hono/node-server allows running the Hono application on Node.js. Prior to 1.19.13, a path handling inconsistency in serveStatic allows protected static files to be accessed by using repeated slashes (//) in the request path. When route-based middleware (e.g., /admin/*) is used for authorization, the router may not match paths containing repeated slashes, while serveStatic resolves them as normalized paths. This can lead to a middleware bypass. This vulnerability is fixed in 1.19.13.
📍 영향받는 시스템
@hono/node-server < 1.19.13
⚔️ 공격 벡터
HTTP 요청 경로에 반복된 슬래시(//)를 삽입하여 경로 정규화 불일치 이용
🛡️ 대응 방법
@hono/node-server를 1.19.13 이상으로 업그레이드
🔧 검증 코드
설치된 버전이 1.19.13 이상이면 안전하며, 그 이하이면 업그레이드 필요합니다.
npm list @hono/node-server 2>/dev/null | grep -oP '@hono/node-server@\K[^\s]+'