CVE-2026-71883 in BC-LTS-JAVA정보

요약

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

Java용 Bouncy Castle LTS 버전 2.73.13 미만에서 AES-CBC, CCM, CFB, CTR, GCM 및 GCM-SIV에 대한 one-shot 네이티브 패킷 암호화 구현은 JNI의 ReleaseByteArrayElements를 mode 0으로 사용하여 호출자의 키(key), 초기화 벡터(IV) 및 추가 인증 데이터(AAD) 배열을 해제합니다. 이 모드는 네이티브 복사본을 Java 배열로 다시 복귀시킵니다. 이러한 입력 배열들은 네이티브 코드에 대해 읽기 전용(read-only)이며, JVM에서 pin 대신 copy를 반환하는 경우 해당 복사본은 읽어온 대로의 입력 바이트를 그대로 유지합니다. 출력 버퍼는 별도의 임계 영역(critical region)을 통해 처리되어 먼저 커밋되므로, 애플리케이션이 동일한 Java 배열을 입력과 목적지(예: KeyParameter.getKey()에 대한 인플레이스(in-place) 암호화 시)로 전달한 경우, 나중에 실행되는 mode 0 키 해제는 방금 생성된 복호문(ciphertext) 위에 변경되지 않은 키 바이트를 덮어씁니다. 이 호출은 여전히 올바른 출력 길이를 반환하므로, 자체 키 배열에 대해 인플레이스 방식으로 암호화를 수행하는 애플리케이션은 복호문을 기대하는 위치에 원시 AES 키(raw AES key)를 받게 되며, API에는 이를 나타내는 어떤 정보도 없습니다. 그 결과 메시지가 아닌 대신 키가 전송되거나 저장됩니다. 이제 읽기 전용 입력 배열들은 JNI_ABORT 플래그와 함께 해제되어 네이티브 복사본만 해지되고 Java 배열로 다시 복귀되지 않으며, mode 0은 네이티브 코드가 작성한 배열용으로 예약되었습니다. 순수 자바(Java) 패킷 암호화 구현과 스트리밍 네이티브 모드(streaming native modes)는 영향을 받지 않습니다. Bouncy Castle for Java(bcprov)에는 네이티브 구현체가 포함되어 있지 않으므로 영향을 받지 않습니다.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

책임이 있는

Bcorg

예약하다

2026. 08. 08.

모더레이션

수락

항목

VDB-413336

EPSS

0.00000

출처

Do you know our Splunk app?

Download it now for free!