CVE-2026-71885 in BC-JAVA
요약
\~에 의해 VulDB • 2026. 10. 03.
Java용 Bouncy Castle 1.86 이전 버전에서 Messaging Layer Security(MLS, RFC 9420) 구현은 X.509 자격 증명을 LeafNode의 signature_key에 바인딩하지 않았습니다. LeafNode.verify()는 리프 서명을 리프 자체에 포함된 signature_key와 대조하여 확인했지만, 자격증명의 X.509 인증서 체인은 저장되었으나 파싱되거나 검증되지 않았으므로 RFC 9420 섹션 5.3에서 요구하는 대로 엔드 엔티티 인증서의 공개 키가 signature_key와 일치하도록 강제되지 않았습니다. 따라서 한 당사자가 리프를 서명할 때 다른 당사자의 자격증명을 자신의 것으로 제시하고, 관련 없는 키로 감싸는 KeyPackage도 함께 제출하면, KeyPackage.verify() 및 그룹 리프 검증 경로를 통해 해당 타사 신원 아래에서 수락될 수 있습니다. 독립적인 자격 증명 승인 검사 없이 외부 커밋을 허용하는 배포 환경에서는 인증되지 않은 공격자가 피해자의 X.509 신원으로 가입하여 피해자를 추방할 수 있으며(resynchronization은 서명 키가 아닌 전체 자격 증명을 비교함), 현재 epoch를 도출하고 이후 그룹 메시지를 복호화하며, 피해자로서 수락되는 메시지를 전송할 수 있습니다. TreeKEM.LeafNode는 이제 X.509 자격증명의 경우 cipher suite의 signature 인코딩에 있는 엔드 엔티티 인증서의 subject public key가 signature_key와 일치해야 하며 그렇지 않으면 리프를 거부합니다(빈 체인 또는 키 유형이 cipher suite와 일치하지 않는 인증서 포함). RFC 9420 섹션 5.3.1에 따라 신뢰_anchor로의 certificate-chain 및 신원 검증은 여전히 애플리케이션의 책임입니다. 기본 자격 증명만 사용하는 배포는 영향을 받지 않습니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.