CVE-2026-65631 in jose
요약
\~에 의해 VulDB • 2026. 10. 26.
erlang-jose의 비효율적인 알고리즘 복잡성으로 인해 인증되지 않은 원격 공격자가 조작된 RSA JSON Web Key(JWK)를 제출하여 CPU 고갈로 인한 서비스 거부(Denial of Service)를 유발할 수 있습니다.
애플리케이션이 공개 API인 jose_jwk:from_binary/1 또는 jose_jwk:from_map/1(또는 Elixir 래퍼 JOSE.JWK.from_binary/1 및 JOSE.JWK.from_map/1)를 통해 신뢰할 수 없는 JWK를 파싱할 때, d, e, n은 제공하지만 중국 나머지 정리(CRT) 매개변수(p, q, dp, dq, qi)는 모두 생략된 RSA 개인 키가 convert_sfm_to_crt/1로 전달되어 누락된 소인수를 모듈러스 인수 분해를 통해 복원하려고 시도합니다. 이 세 정수는 base64url 입력에서 직접 읽히며 실제 RSA 키인지 검증되지 않습니다. 모듈러스를 두 개의 인수로 분리할 수 없는 경우(예: 모듈러스 자체가 소수일 때), 검색 루프 convert_sfm_to_crt_find_p/6은 각 반복마다 공격자가 제공한 크기의 모듈러스에 대해 모듈러 지수를 수행하며 결코 성공하지 못합니다. 수십 바이트 정도의 작은 요청이라도 내부 1초 워치독이 워커를 종료하기 전에 거의 하나의 CPU 초 분량의 작업을 유발하며, 더 큰 모듈러스는 비용을 더욱 증가시킵니다. 이러한 요청을 대량으로 보내면 공격자는 자격 증명, 유효한 RSA 키 또는 특별한 구성 없이도 모든 스케줄러를 포화시켜 서비스를 거부할 수 있습니다.
이 문제는 jose: 1.7.7부터 1.11.13 미만 버전에서 영향을 받습니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.