🇰🇷 한글 설명
Hono 웹 프레임워크의 JWT 인증 미들웨어에서 aud(Audience) 검증 옵션이 누락되어 발생하는 보안 취약점입니다. 이로 인해 동일한 발급자나 키를 공유하는 다른 서비스용 토큰이 현재 서비스에서도 유효하게 사용될 수 있는 토큰 혼동(Token-mix-up) 문제가 발생할 수 있습니다.
💡 쉬운 설명
로그인 티켓을 확인하는 과정에서 '이 티켓이 우리 가게용이 맞는지' 확인하는 절차가 빠져 있는 상태입니다. 이로 인해 다른 가게에서 사용하던 티켓을 가져와도 우리 가게에서 통과될 위험이 있습니다.
🇺🇸 원문 (English)
Hono is a Web application framework that provides support for any JavaScript runtime. In versions from 1.1.0 to before 4.10.2, Hono’s JWT Auth Middleware does not provide a built-in aud (Audience) verification option, which can cause confused-deputy / token-mix-up issues: an API may accept a valid token that was issued for a different audience (e.g., another service) when multiple services share the same issuer/keys. This can lead to unintended cross-service access. Hono’s docs list verification options for iss/nbf/iat/exp only, with no aud support; RFC 7519 requires that when an aud claim is present, tokens MUST be rejected unless the processing party identifies itself in that claim. This issue has been patched in version 4.10.2.
📍 영향받는 시스템
Hono framework versions 1.1.0 to before 4.10.2
⚔️ 공격 벡터
동일한 발급자(Issuer)를 사용하는 다른 서비스에서 발급된 유효한 JWT 토큰을 사용하여 권한이 없는 서비스에 접근
🛡️ 대응 방법
Hono 프레임워크를 4.10.2 버전 이상으로 업데이트
🔧 검증 코드
출력된 버전이 4.10.2 미만인 경우 해당 취약점에 노출된 상태입니다.
npm list hono | grep hono