🇰🇷 한글 설명
@hono/node-server 1.19.10 이전 버전에서 정적 파일 제공 시 URL 인코딩 처리의 불일치로 인해 발생하는 취약점입니다. %2F(인코딩된 슬래시)가 포함된 경로는 라우팅/미들웨어 검증과 정적 파일 경로 해석에서 다르게 처리되어, 미들웨어 보호를 우회하고 보호된 리소스에 무단 접근이 가능합니다.
💡 쉬운 설명
웹 서버가 URL 주소를 확인할 때 보호된 폴더(/admin)와 일반 폴더를 구분하는 방식이 일관되지 않습니다. '%2F' 같은 특수 코드를 사용하면 보호된 파일에 몰래 접근할 수 있습니다.
🇺🇸 원문 (English)
@hono/node-server allows running the Hono application on Node.js. Prior to version 1.19.10, when using @hono/node-server's static file serving together with route-based middleware protections (e.g. protecting /admin/*), inconsistent URL decoding can allow protected static resources to be accessed without authorization. In particular, paths containing encoded slashes (%2F) may be evaluated differently by routing/middleware matching versus static file path resolution, enabling a bypass where middleware does not run but the static file is still served. This issue has been patched in version 1.19.10.
📍 영향받는 시스템
@hono/node-server < 1.19.10
⚔️ 공격 벡터
경로에 %2F(URL 인코딩된 슬래시)를 삽입하여 미들웨어 검증을 우회하고 보호된 정적 파일 접근
🛡️ 대응 방법
@hono/node-server를 버전 1.19.10 이상으로 업그레이드
🔧 검증 코드
출력되는 @hono/node-server 버전이 1.19.10 이상이면 안전하며, 1.19.10 미만이면 패치 필요
npm list @hono/node-server 2>/dev/null | grep -E 'node-server@'