🇰🇷 한글 설명
joserfc 라이브러리 1.3.4에서 1.6.5 버전 사이에서 RFC7797 b64=false JWS 페이로드가 설정된 최대 길이를 검증하지 않는 취약점이 발견되었습니다. 이로 인해 비정상적으로 큰 페이로드가 수용되어 시스템 자원 고갈을 초래할 수 있습니다.
💡 쉬운 설명
데이터의 크기를 제한하는 규칙이 특정 방식에서 작동하지 않아, 너무 큰 데이터를 보내 시스템을 느리게 하거나 멈추게 할 수 있습니다. 이는 서비스가 중단되는 원인이 될 수 있습니다.
🇺🇸 원문 (English)
joserfc is a Python library that provides an implementation of several JSON Object Signing and Encryption (JOSE) standards. In versions 1.3.4 through 1.6.5, joserfc accepts oversized RFC7797 b64=false JWS payloads without applying JWSRegistry.max_payload_length, which can lead to resource exhaustion. The normal JWS compact and flattened JSON paths reject payloads above the configured payload-size limit with ExceededSizeError. The RFC7797 unencoded payload paths do not make the same check. A valid b64=false compact or flattened JSON JWS can therefore deserialize successfully with a payload larger than JWSRegistry.max_payload_length. Applications that accept lower-trust JWS values and rely on joserfc to reject oversized token content during verification have a moderate availability risk. This issue has been fixed in version 1.6.7.
📍 영향받는 시스템
joserfc library versions 1.3.4 through 1.6.5
⚔️ 공격 벡터
RFC7797 b64=false 형식을 사용하는 JWS 페이로드에 설정된 제한을 초과하는 대용량 데이터를 전송
🛡️ 대응 방법
joserfc 라이브러리를 1.6.7 버전 이상으로 업데이트
🔧 검증 코드
출력된 버전이 1.3.4 이상 1.6.5 이하인지 확인하여 취약 여부를 판단합니다.
pip show joserfc | grep Version