Java で暗号や電子署名を扱うための部品「Bouncy Castle for Java(bc-java)」に、脆弱性 が12件見つかりました。ドイツの連邦情報セキュリティ 庁(BSI)のCERT-Bundが、注意情報WID-SEC-2026-3726にまとめています。直った版はすでに出ていますが、この部品は多くのJavaのアプリや製品の中に入っていて、「入れた覚えがない」会社にも関係します。
この記事は、公式の資料だけで書いています。
CERT-Bundがまとめた12件
項目
資料の記載
注意情報
WID-SEC-2026-3726。初版は10月4日。10月15日にRed Hatの更新を加えた第2版
深刻度
hoch(高)。CERT-Bundが付けたもの
CVEの数
12件(CVE-2026-18040、71883、71885から71892、85515、97873)
対象(CERT-Bundの表)
Bouncy Castle Java 1.86未満、Java LTS 2.73.13未満、Red Hat Enterprise Linux
直った版
一般版1.86(9月11日公開)、LTS版2.73.13(9月21日にMaven Centralへ)
悪用
確かめた資料に報告なし。CISA のKEVにも載っていない(10月16日版)
直った版の1.86は、CVEが公表される約3週間前の9月11日に出ていました。12件のCVEは、Bouncy Castle自身が10月3日に公表しています。9月中に1.86へ上げた製品は、すでに直っています。
入れた覚えがなくても関係する理由
Bouncy Castleは、暗号化、電子署名、証明書の確認などをまとめた、オープンソースの部品(ライブラリ)です。Javaのアプリは、こうした部品をファイル(jar)として中に組み込んで使うため、利用者からは見えません。自社開発のアプリ、購入した業務パッケージ、保守会社の機器の中に入っていることがあります。
Red HatのCVEのページには、同社の製品だけでも多くが並びます。たとえば、JBoss EAP(Javaのアプリを動かすサーバー)やKeycloak(ログインの仕組み)です。Satellite(サーバーの管理)、OpenShiftのJenkins、Red Hat Enterprise Linux 8・9の部品も並びます。1社の製品にこれだけ入っている部品なので、ほかの会社の製品にも入っている前提で確かめます。
Bouncy Castleの公式のwikiには、2026年に公表したCVEが55件並んでいます。修正の多い部品なので、版を台帳で追えるようにしておきます。
製品の告知に、Bouncy Castleの脆弱性が部品として載ることもあります。たとえばIBM QRadar SIEMの9月25日の告知(文書番号7289581)には、上流の1.85で直った別の3件(CVE-2026-58062、CVE-2026-59650、CVE-2026-8763)が含まれています。くわしくはIBM QRadar SIEMの部品に脆弱性153件 版を確認して修正版へ にまとめています。
12件の中身
12件は、別々の機能の不具合です。CVSS(深刻さを0から10で表す指標)は、CVEを登録したBouncy Castle自身が、版4.0の基準で付けています。
CVE
何が起きるか(開発元の説明の要約)
CVSS
入っているjar
CVE-2026-71885
MLS(グループで暗号化したやり取りをする方式)で、他人の証明書での参加を見抜けない。条件しだいで、なりすまして通信を読める
9.2
bcmls
CVE-2026-71888
CMS(署名や暗号化したデータの形式)で、改ざんを確かめていない属性を、確かめたものとして返す
8.7
bcpkix、bcutil
CVE-2026-71889
証明書の確認の道具PKIXCertPathReviewerが、末端の証明書で「名前制約」を確かめない。発行が許されていない証明書を通す恐れ
8.7
bcpkix、bcprov
CVE-2026-71890
MLSで、外から参加する人が、ほかのメンバーを外して入れ替われる
8.7
bcmls
CVE-2026-71883
LTS版のネイティブのAESの処理で、使い方によって、暗号文の代わりに鍵そのものが返る
8.2
bcprov-lts8on
CVE-2026-71886
OpenPGP(ファイルやメールを暗号化・署名する方式)で、権限のないサブキーによる証明を受け付ける
8.2
bcpg
CVE-2026-71887
OpenPGPで、本物の署名が、別人の名義の署名として扱われる恐れ
8.2
bcpg
CVE-2026-85515
OpenPGPで、途中で切れた暗号文を誤りとしない。古い形式では、改ざんの確認も行わない
8.2
bcpg
CVE-2026-71891
BLS署名(複数の署名をまとめる方式)で、正しくない曲線の公開鍵を受け付ける
7.1
bcprov
CVE-2026-71892
CMSで、受け手が有効にした鍵の長さの確認が、一部の方式で働かない
6.9
bcpkix
CVE-2026-18040
HQC(量子計算機に備えた新しい暗号の方式)で、処理の時間などから秘密鍵の情報が漏れる
5.9
bcprov
CVE-2026-97873
古いパスワードの暗号の方式で、繰り返しの回数に上限がなく、CPUを使い切らされる
5.3
bcprov、bcprov-lts8on
対象の種類は、件ごとに違います。
一般版: 71883を除く11件
LTS版: 5件(71883、71888、71889、85515、97873)
FIPS版: 4件(71888、71889、71892、85515)
CERT-Bundの表は12件とも一般版とLTS版の両方に当てていますが、ここでは開発元の告知に従います。
どれも、その機能を使うときにだけ起きます。開発元の説明にある条件の例です。
CVE-2026-71889: PKIXCertPathReviewerの結果を、信頼の判断に使うアプリだけが対象
CVE-2026-71885: MLSで、参加者をX.509の証明書で確かめる使い方が対象。基本の資格情報(basic credentials)だけなら対象外
CVE-2026-71883: LTS版の2.73.4以降を、Intelの機器でネイティブの処理を有効にして使う場合
製品がどの機能を使っているかは外から分からないため、判断は開発元に任せ、基本は直った版へ上げます(編集部の補足)。
Bouncy Castle公式wikiのCVE-2026-71889の告知。対象の版と直った版 出典: Legion of the Bouncy Castle(bc-java Wiki) (引用)
NVDは、12件とも「分析待ち(Awaiting Analysis)」で、独自の評価をまだ出していません。Red Hatは6件に独自のCVSS 3.1を付けています。CVE-2026-71888と71889は「重要(Important)」、ほかの4件は「中程度(Moderate)」です。
直った版と、jarの名前
Bouncy Castleには、一般版、長期サポート版(LTS版)、米国の暗号の基準に合わせたFIPS版があります。どれを使っているかで、直った版が違います。
種類
jarの名前の例
直った版
一般版(Java 8以降)
bcprov-jdk18on、bcpkix-jdk18on、bcpg-jdk18on、bcutil-jdk18on、bcmls-jdk18on
1.86
一般版(Java 1.5から1.8)
bcprov-jdk15to18、bcpkix-jdk15to18 など
1.86
LTS版
bcprov-lts8on、bcpkix-lts8on、bcpg-lts8on、bcutil-lts8on
2.73.13
FIPS版
bcpkix-fips、bcpg-fips、bcutil-fips
bcpkix-fipsは1.0.13・2.0.13・2.1.13、bcpg-fipsは1.0.14・2.0.14.1・2.1.14、bcutil-fipsは2.0.8・2.1.8
bcprovは中心の部品、bcpkixは証明書やCMS、bcpgはOpenPGP、bcmlsはMLSの部品です。jarの名前の最後に版が付きます(例: bcprov-jdk18on-1.85.jar)。
Bouncy Castleの配布の頁。Java 8以降向けの1.86のjarが並ぶ 出典: Legion of the Bouncy Castle (引用)
1.86では、ほかの3件(CVE-2026-17507、17508、18036)も直っています。2.73.13では、10月9日に公表されたLTS版だけの1件(CVE-2026-71884)も直っています。
古い名前の「bcprov-jdk15on」は、2021年の1.70で配布が止まっていて、直った版がありません。Red Hatは、jdk15onのjarを含むFuse 7やJBoss EAP 7も、一部のCVEで対象にしています。直すには、jdk18onかjdk15to18の1.86へ移ります。
Red Hatの更新3本
CERT-Bundが10月15日に加えたのは、Red Hatの3本の更新(RHSA)です。CERT-Bundの表には「Red Hat Enterprise Linux」とあります。ただ、3本とも、Javaのアプリを作る基盤(Quarkus)まわりの製品の更新です。
更新
公開
製品
含むBouncy CastleのCVE
RHSA-2026:83082
10月15日
Red Hat build of Quarkus 3.27.6
CVE-2026-71889
RHSA-2026:83520
10月15日
Red Hat build of Quarkus 3.33.4
CVE-2026-71889
RHSA-2026:83670
10月15日
Red Hat Build of Apache Camel 4.18 for Quarkus 3.33
CVE-2026-71887、71889
3本とも深刻度は「重要(Important)」で、Jacksonなどほかの部品の修正もまとめています。Quarkusの更新では、bcpkix-jdk18onが「1.86.0.redhat-00001」になっています。このように提供元の番号が付いた版も、1.86の系統として読みます。
Red HatのCVEのページでは、CVE-2026-71889の状態が製品ごとに違います(10月17日時点)。
影響あり(Affected): Keycloak、JBoss EAP 8、Fuse 7、Satellite 6など
修正しない(Will not fix): JBoss EAP 7、Red Hat Single Sign-On 7
Red Hatは回避の方法として、PKIXCertPathReviewerを信頼の判断に使わず、標準のCertPathValidatorで確かめることを挙げています。
悪用の状況
確かめた資料に、悪用の報告はありません。米国CISAが各CVEに付けた評価(SSVC)では、12件とも悪用が「none(なし)」です(10月5日付)。CISAのKEV(悪用が確認された脆弱性の一覧)にも、10月16日版の時点で載っていません。
ただし、「今後も悪用されない」とは、どの資料にも書かれていません。
自動の知らせが来ないことがある
GitHubのAdvisory Databaseでは、12件とも「unreviewed(未レビュー)」でした(10月17日確認)。対象のパッケージの欄も空です。GitHubは、未レビューのものでは、Dependabot(部品の脆弱性を知らせる機能)の知らせを出さないと説明しています。
Dependabot doesn't create Dependabot alerts for unreviewed advisories as this type of advisory isn't checked for validity or completion.
出典: GitHub Docs「About the GitHub Advisory database」
NVDの記録にも、製品の識別子(CPE)がまだ付いていません。自動の検査に頼る現場には、この12件の知らせが届いていないことがあります。jarの版を、人の目でも確かめます(編集部の補足)。
自社に入っているかの確かめ方
サーバーやPCでjarを探す
Bouncy Castleのjarは、名前がbcprov、bcpkix、bcpg、bcutil、bcmls、bctlsなどで始まります。「bc」で始まるjarを探し、名前で見分けます(bcelなど別の部品も混ざります)。Linuxでは次のように探せます。
find / -type f -name 'bc*.jar' 2>/dev/null
WindowsではPowerShellで次のように探せます。
Get-ChildItem -Path C:\ -Recurse -Filter 'bc*.jar' -ErrorAction SilentlyContinue | Select-Object FullName
アプリが1つのファイル(.jarや.war)にまとめられている場合は、unzip -l <ファイル名> | grep -iE 'bcprov|bcpkix|bcpg|bcutil|bcmls|org/bouncycastle' で中の一覧から探せます。
SBOMで探す
SBOM(ソフトウェア部品表)は、ソフトに入っている部品と版の一覧です。手元にSBOMがあれば、「org.bouncycastle」で検索します。
開発中のアプリと、購入した製品
Mavenで作るアプリは、開発者に mvn dependency:tree -Dincludes=org.bouncycastle を頼みます。ほかの部品を通じて入ったものも含めて、一覧が出ます。購入した製品は、中のファイルを見られないことが多いため、提供元や保守会社に下の文面で聞きます。
影響する会社・しない会社
影響する: 自社開発・委託開発のJavaのアプリに、bcprov、bcpkix、bcpg、bcutil、bcmlsの1.86未満が入っている会社(LTS版・FIPS版は上の表の版未満)
影響する: Red Hat build of Quarkus 3.27・3.33、Red Hat Build of Apache Camel for Quarkusを、RHSAの前の版で使っている会社
影響する可能性がある: Javaで動く業務パッケージ、機器、保守会社の製品を使っている会社。中のBouncy Castleの版と、使っている機能は、提供元に聞かないと分かりません
影響が小さい: 部品が入っていても、問題の機能(MLS、OpenPGP、CMSなど)を使っていない場合。ただし判断は開発元に任せます
影響しない: 1.86以降(LTS版は2.73.13以降)に上げた製品・アプリ。Bouncy Castleを使っていないシステム。C#(.NET)向けのBouncy Castle
情シスが今日やること
Javaで動くシステムを洗い出します。 資産台帳から、自社開発・委託開発のアプリ、業務パッケージ、Javaで動く機器を挙げます。
jarとSBOMで版を確かめます。 上の方法でjarやSBOMを調べ、1.86未満(LTS版は2.73.13未満)かを見ます。
提供元と委託先に、文書で聞きます。 下の文面を使えます。返事の期限を決めます(例: 1週間)。
Red Hatの製品は、RHSAを当てます。 Quarkus 3.27・3.33とCamel for Quarkusは、RHSA-2026:83082・83520・83670です。JBoss EAP 7とRed Hat Single Sign-On 7は、CVE-2026-71889が「修正しない」です。今後の扱いを、Red Hatのサポートに相談します。
更新の日を決めて、台帳に残します。 どの製品のどのjarを、いつ、どの版に上げたかを記録します。
開発会社・委託先への聞き方
次の文面は、編集部が公式の資料をもとに作ったものです。
件名: Bouncy Castle for Javaの脆弱性(CERT-Bund WID-SEC-2026-3726)の確認のお願い
御社が納品・保守しているシステムに、Bouncy Castle(org.bouncycastle。jarの名前はbcprov、bcpkix、bcpg、bcutil、bcmlsなど)は入っていますか。ほかの部品を通じて入っている場合も含めて教えてください
入っている場合は、jarの名前と版を教えてください(例: bcprov-jdk18on-1.85.jar、bcprov-lts8on-2.73.12.jar)
CVE-2026-18040ほか12件の対象になりますか。OpenPGP、CMS、証明書の確認(PKIXCertPathReviewer)、MLSの機能を使っていますか
1.86(LTS版は2.73.13)へ上げる予定日を教えてください
部品の一覧(SBOM)を出していただけますか
同じ型の話として、Javaの部品Nettyの脆弱性23件 と、XMLを読む部品expatの脆弱性 の記事もあります。
書かれていないこと
Bouncy Castleを使っている製品の一覧は、どの資料にもありません。製品の名前は、Red HatのCVEのページとRHSAで確かめたものだけを挙げました
Red HatのCVEのページは、5件(71883、71885、71887、71890、85515)で見つかりませんでした
2026年10月17日時点の内容です。