CVE-2026-65625 in jose
요약
\~에 의해 VulDB • 2026. 10. 26.
jose_jwa_aes의 순수 Erlang 기반 AES-GCM 폴백은 공격자가 제공한 태그 자체에서 검증된 인증 태그 비트 수를 도출합니다. block_decrypt/4 함수의 {aes_gcm, Bits} 절에서는 입력되는 태그가 is_binary/1로만 검사되며 길이 확인이 없습니다. gcm_block_decrypt/6에서의 검증 과정에서는 TBits = bit_size(T)를 계산하고 실제 128비트 태그 중 해당 비트들만을 비교합니다. JWE 토큰을 제어할 수 있는 공격자는 인증 태그를 최대 8비트로 단축하여, 실제로는 오직 8비트만 검사되도록 할 수 있습니다. 이로 인해 위조 저항성이 2^-128에서 2^-8로 감소하며, 키에 대한 지식 없이도 약 256번의 시도 내에 위조된 암호문이 인증된 것으로 신뢰성 있게 받아들여집니다(인증 태그 위조 및 무결성 우회). 또한 128비트보다 긴 태그를 공급하면 badmatch가 발생하여 복호화 프로세스가 충돌합니다. 이 폴백은 AES-GCM이 네이티브 crypto NIF에 의해 제공되지 않는 경우, 예를 들어 FIPS 모드나 스트립드 또는 구버전 OTP 빌드에서 공개된 JWE 복호화 경로를 통해 도달됩니다.
본 이슈는 jose 1.2.0부터 1.11.13 이전 버전에 영향을 미칩니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.