CVE-2026-71891 in Bouncy Castle Java정보

요약

\~에 의해 VulDB • 2026. 10. 03.

Java용 Bouncy Castle 1.86 이전 버전에서 BLS12_381BasicScheme.keyValidate, 그리고 이를 기반으로 하는 BLSPublicKeyParameters와 모든 BasicScheme, MessageAugmentation 및 ProofOfPossession의 verify 및 aggregateVerify 메서드는 BLS12-381의 필드 특성(field characteristic)만을 공유하는 외부 ECCurve 위에서 구성된 공개키를 허용했습니다. 소수 차수의 부분군(prime-order subgroup) 검사는 점(point) 자체의 곡선(curve)이 자신의 co-factor를 정의한다고 신뢰하며, ECPoint.satisfiesOrder는 해당 곡선의 co-factor가 1인 경우 즉시 true를 반환하므로, 서로 다른 방정식을 가지며 co-factor가 1로 위조된 곡선 위의 점은 G1 점이 아님에도 불구하고 keyValidate를 통과했습니다. Bouncy Castle의 쌍대(pairing) 구현에서 이러한 점은 대상 그룹(target group)에서 항등원(identity)으로 작용하므로, 이를 포함한 공개키 집합에 대해 검증되는 집계 서명(aggregated signature)은 해당 키와 메시지 페어에 대한 실제 서명이 포함되어 있지 않음에도 불구하고 수락되어 가짜 서명자(phantom signer)를 허용합니다. 이제 keyValidate는 부분군 검사를 수행하기 전에 먼저 점의 곡선이 정확한 표준 G1 필드, 방정식, 차수(order), co-factor를 갖추었는지 확인합니다. 이 문제는 애플리케이션이 명시적(non-canonical)인 곡선 위에서 ECPoint를 구성하고 이를 권한을 가진 키로 수락하는 경우에만 접근 가능합니다. 표준 48바이트 압축 점(decompressed-point) 디코더는 항상 표준 곡선을 제공하므로 영향을 받지 않았습니다.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

책임이 있는

Bcorg

예약하다

2026. 08. 08.

모더레이션

수락

항목

VDB-413344

EPSS

0.00000

활동

낮음

출처

Want to stay up to date on a daily basis?

Enable the mail alert feature now!