CVE-2026-44351
fast-jwt: 비동기 키 리졸버를 통해 빈 HMAC 시크릿 허용 - JWT 인증 우회
- 게시됨
- 2026. 5. 13.
- 업데이트됨
- 2026. 5. 14.
- CNA 할당 중
- GitHub_M
- 증거 관찰됨
- 2026. 9. 15.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N낮음 · 다음 30일
- 백분위수
- 15.0%
- 모델 날짜
- 2026. 9. 21.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
fast-jwt는 빠른 JSON Web Token(JWT) 구현을 제공합니다. 6.2.4 이전 버전에서 fast-jwt의 비동기 키 리졸버 흐름에 치명적인 인증 우회 취약점이 존재하여, 인증되지 않은 공격자가 임의의 JWT를 위조하여 정품으로 인정받을 수 있습니다. 애플리케이션의 키 리졸버가 빈 문자열('')을 반환할 때, 예를 들어 일반적인 keys[decoded.header.kid] || '' JWKS 스타일 폴백을 통해, fast-jwt는 이를 길이가 0인 Buffer로 변환하고 crypto.createSecretKey에 전달한 뒤, 이로부터 allowedAlgorithms = ['HS256','HS384','HS512']를 도출하고, 빈 키 HMAC에 대해 토큰의 서명을 검증합니다. 공격자는 단순히 HMAC-SHA256(key='', input='${header}.${payload}')를 계산하기만 하면 되며, Node는 이를 문제없이 수용하고, 검증기는 공격자가 선택한 페이로드(sub, admin, scopes 등)를 정품으로 반환합니다. 이 취약점은 6.2.4에서 수정되었습니다.
소스
1CVE-2026-44351에 대한 개념 증명(Proof-of-concept)으로, fast-jwt <6.2.4에서 빈 HMAC 키를 통해 공격자가 유효한 것으로 인정되는 임의의 JWT를 위조할 수 있게 하는 인증 우회 취약점입니다.
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.