🇰🇷 한글 설명
PyJWT 2.13.0부터 2.14.0 버전 사이의 HMACAlgorithm.from_jwk 함수에서 검증 결함이 발견되었습니다. 신뢰할 수 있는 JWK 세트에 빈 k 값을 가진 oct 항목이 포함될 경우, PyJWT가 키 검증 없이 디코딩된 키를 그대로 사용하여 공격자가 동일한 빈 키로 서명된 위조 토큰을 생성할 수 있습니다.
💡 쉬운 설명
인증에 사용되는 암호 키가 비어있음에도 불구하고 시스템이 이를 정상적인 키로 잘못 인식하는 보안 취약점입니다. 이를 통해 공격자는 가짜 신분증(토큰)을 만들어 시스템에 마음대로 접속할 수 있습니다.
🇺🇸 원문 (English)
PyJWT is a Python implementation of JSON Web Token standards. From 2.13.0 until 2.14.0, HMACAlgorithm.from_jwk is affected because PyJWK verification path used the decoded key without applying prepare_key validation. This occurs when a trusted JWK Set contains an oct entry with an empty k value. As a result, an attacker signs an HMAC token with the same zero-length key accepted by PyJWT. Consequently, forged token can carry arbitrary authenticated claims. This issue is fixed in version 2.14.0.
📍 영향받는 시스템
PyJWT versions 2.13.0 to 2.14.0
⚔️ 공격 벡터
빈 k 값을 가진 JWK를 사용하여 HMAC 토큰을 위조하고 인증을 우회함
🛡️ 대응 방법
PyJWT를 2.14.0 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 2.13.0 이상 2.14.0 미만인지 확인하십시오.
pip show PyJWT | grep Version