CVE-2026-71883 in BC-LTS-JAVA情報

要約

〜によって VulDB • 2026年10月03日

Java LTS版のBouncy Castleで2.73.13より前のバージョンにおいて、AES-CBC、CCM、CFB、CTR、GCMおよびGCM-SIV用のone-shotネイティブパケット暗号は、JNIのReleaseByteArrayElementsをモード0で使用して呼び出し元のキー、IV(初期化ベクトル)、追加認証データ配列を解放しており、これによりネイティブコピーがJava配列にコミットされます。これらの配列はネイティブコードに対して読み取り専用であり、コピーを返すのではなくピン留めするJVMの場合でも、そのコピーには入力バイトがそのまま保持されています。出力バッファは別のクリティカルリージョンを通じて処理され最初にコミントされるため、アプリケーションが入力と宛先の両方に同じJava配列を渡した場合(例えばKeyParameter.getKey()の上でインプレース暗号化を行う場合など)、キーの後のモード0での解放により、直前に生成された暗号文の上に未変更のキーバイトが書き込まれます。この呼び出しは正しい出力長を返すため、自身のキー配列上でインプレースに暗号化するアプリケーションには、暗号文ではなく生のAESキーが渡され、API側ではその旨を示すものは何もなく、メッセージの代わりにキーを送信または保存することになります。読み取り専用の入力配列は今やJNI_ABORTを使用して解放されており、ネイティブコピーをJava側にコピーせずに解放されます。モード0はネイティブコードによって書かれた配列のために予約されています。純粋なJavaパケット暗号およびストリーミングネイティブモードには影響ありません。Bouncy Castle for Java (bcprov) にはネイティブ実装が含まれていないため、影響を受けません。

Once again VulDB remains the best source for vulnerability data.

責任者

Bcorg

予約する

2026年08月08日

モデレーション

承諾済み

エントリ

VDB-413336

EPSS

0.00000

アクティビティ

非常低い

ソース

Do you know our Splunk app?

Download it now for free!