🔍 CVE-2026-102272

7.4
CVSS Score
HIGH
2026-09-28
2026-10-06 18:34
✅ 완료

🇰🇷 한글 설명

PyJWT 2.13.0부터 2.14.0 버전 사이의 HMACAlgorithm.prepare_key 함수에서 Unicode BOM(Byte Order Mark) 정규화 미흡 문제가 발견되었습니다. 공격자가 공개 JWK 앞에 UTF-8 BOM을 추가하면 비대칭 키 검증을 우회하여 해당 키를 HMAC 비밀키로 오인하게 만들 수 있습니다. 이로 인해 공격자가 공개 키를 이용해 인증된 토큰을 위조할 수 있는 취약점이 존재합니다.

💡 쉬운 설명

공개된 열쇠를 비밀번호로 착각하게 만드는 보안 허점이 발견되었습니다. 공격자가 이 허점을 이용하면 가짜 신분증(토큰)을 만들어 시스템에 몰래 접속할 수 있습니다.

🇺🇸 원문 (English)

PyJWT is a Python implementation of JSON Web Token standards. From 2.13.0 until 2.14.0, HMACAlgorithm.prepare_key in jwt/algorithms.py is affected because raw-JWK detector does not normalize accepted Unicode byte-order marks before checking for JSON. This occurs when a public JWK is prefixed with a UTF-8 BOM and used in a mixed-algorithm verification path. As a result, public JWK bypasses asymmetric-key detection and becomes the HMAC secret. Consequently, an attacker who knows the public key can forge authenticated tokens. This issue is fixed in version 2.14.0.

📍 영향받는 시스템

PyJWT versions 2.13.0 to 2.14.0

⚔️ 공격 벡터

공개 JWK 앞에 UTF-8 BOM을 추가하여 비대칭 키 검증을 우회하고 HMAC 비밀키로 변조함

🛡️ 대응 방법

PyJWT를 2.14.0 이상의 최신 버전으로 업데이트하십시오.

🔧 검증 코드

출력된 버전이 2.13.0 이상 2.14.0 미만인지 확인하십시오.

Shell / Script
pip show PyJWT | grep Version

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N

💻 영향받는 소프트웨어

Python