CVE-2023-48223
fast-jwt JWT 알고리즘 혼동
- 게시됨
- 2023. 11. 20.
- 업데이트됨
- 2024. 8. 2.
- CNA 할당 중
- GitHub_M
- 증거 관찰됨
- 2026. 8. 8.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N낮음 · 다음 30일
- 백분위수
- 50.6%
- 모델 날짜
- 2026. 9. 21.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
fast-jwt는 빠른 JSON 웹 토큰(JWT) 구현을 제공합니다. 버전 3.3.2 이전에는 fast-jwt 라이브러리가 모든 공개 키 유형에 대해 JWT 알고리즘 혼동을 제대로 방지하지 못합니다. 'fast-jwt/src/crypto.js'의 'publicKeyPemMatcher'는 공개 키의 모든 일반적인 PEM 형식을 제대로 매칭하지 못합니다. 이 취약점을 악용하기 위해 공격자는 HS256 알고리즘을 포함하고 피해 애플리케이션의 공개 RSA 키로 서명된 악의적인 JWT 토큰을 제작해야 합니다. 이 공격은 피해 애플리케이션이 `BEGIN RSA PUBLIC KEY` 헤더를 포함하는 공개 키를 사용하는 경우에만 작동합니다. RS256 알고리즘, `BEGIN RSA PUBLIC KEY` 헤더가 있는 공개 키를 사용하고, 알고리즘을 명시적으로 제공하지 않고 verify 함수를 호출하는 애플리케이션은 이 알고리즘 혼동 공격에 취약하며, 공격자가 검증자가 수락할 임의의 페이로드에 서명할 수 있게 됩니다. 버전 3.3.2에는 이 문제에 대한 패치가 포함되어 있습니다. 해결 방법으로, `blob/master/src/crypto.js`의 29번째 줄을 정규 표현식을 포함하도록 변경하십시오.
소스
1# fast-jwt 알고리즘 혼동 PoC fast-jwt 라이브러리의 JWT 알고리즘 혼동을 시연하는 개념 증명입니다. 취약한 서버, 토큰 위조 스크립트, 그리고 보안 교육을 위한 검증 수정 사항을 포함합니다.
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.