CVE-2026-65628 in jose
요약
\~에 의해 VulDB • 2026. 10. 27.
jose_jwk:shared_secret/2 (Elixir에서는 JOSE.JWK.shared_secret/2로 노출됨)는 두 개의 JWK에서 ECDH 공유 비밀을 도출합니다. 첫 번째 함수 절은 두 JWK가 모두 동일한 키 유형(kty) 모듈을 가질 때에만 매칭되며, 폴백 절은 shared_secret(from(YourJWK), from(MyJWK))로서 자신을 재호출합니다. from/1은 이미 파싱된 jose_jwk 레코드를 변경 없이 반환하므로, 서로 다른 키 유형(EC 키와 RSA 키 등)을 가진 두 JWK를 전달하면 폴백 절이 동일한 인수로 다시 진입하여 무제한 꼬리재귀 루프(unbounded tail-recursive loop)가 발생하고, 이는 절대 반환하지도 않고 크래시(예외/충돌)도 일으키지 않습니다.
공급자 외부에서 제공된 피어 공개 키로부터 공유 비밀을 도출할 때 피어 키의 유형과 곡선(curve)이 자신의 키와 일치하는지를 먼저 확인하지 않는 애플리케이션은 공격자가 제어하는 JWK에 의해 이 루프에 빠뜨려질 수 있으며, 이로 인해 Erlang 스케줄러가 CPU 사용률 100%로 고정됩니다. 반복된 요청으로 이용 가능한 스케줄러가 고갈되면 서비스 거부(Denial of Service)가 발생합니다.
이 문제는 jose 패키지의 1.5.0부터 1.11.13 미만 버전에서 영향을 받습니다.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.