🔍 CVE-2026-101918

5.3
CVSS Score
MEDIUM
2026-09-28
2026-10-07 20:59
✅ 완료

🇰🇷 한글 설명

PyJWT 2.0.0a1부터 2.15.0 버전까지 PyJWKClient.get_signing_key_from_jwt 함수에서 RecursionError를 제대로 처리하지 못하는 취약점이 발견되었습니다. 공격자가 재귀적으로 중첩된 페이로드를 전송할 경우, 예외 처리가 되지 않아 HTTP 500 오류를 유발할 수 있습니다. 이 문제는 2.15.0 버전에서 수정되었습니다.

💡 쉬운 설명

공격자가 아주 복잡하게 꼬인 데이터를 보내면 프로그램이 계산을 하다가 한계에 부딪혀 멈춰버릴 수 있습니다. 이로 인해 웹사이트가 오류 메시지를 내뱉으며 정상적으로 작동하지 않을 수 있습니다.

🇺🇸 원문 (English)

PyJWT is a Python implementation of JSON Web Token standards. From 2.0.0a1 until 2.15.0, PyJWT PyJWKClient.get_signing_key_from_jwt is affected because payload parser catches ValueError but not RecursionError. This occurs when an attacker-controlled recursively nested payload reaches json.loads. As a result, documented PyJWT exception handling does not contain the failure. Consequently, an unauthenticated request can raise an exception that may produce an HTTP 500 response. The advisory-defined affected implementation also includes jwt/api_jwt.py, verify_signature=False. This issue is fixed in version 2.15.0.

📍 영향받는 시스템

PyJWT 2.0.0a1 ~ 2.15.0 (verify_signature=False 설정 포함)

⚔️ 공격 벡터

재귀적으로 중첩된 JSON 페이로드를 포함한 인증되지 않은 요청 전송

🛡️ 대응 방법

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

🔧 검증 코드

출력된 버전이 2.15.0 미만이면 취약한 버전입니다.

Shell / Script
pip show PyJWT | grep Version

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Python