「白紙」の万能署名が作れるJavaの脆弱性「Psychic Signatures」

2022年4月24日 18:33

印刷

記事提供元:スラド

Oracle が 4 月のアップデートで修正した Java SE と GraalVM Enterprise Edition の脆弱性 (CVE-2022-21449) について、発見した ForgeRock の Neil Madden 氏が英 BBC の SF ドラマ「ドクター・フー」に登場する「サイキックペーパー」にちなんだ「Psychic Signatures」と名付けている(Madden 氏のブログ記事Ars Technica の記事The Register の記事)。

ドクター・フーのサイキックペーパーは白紙のカードだが、相手に見せたい任意の内容を表示できるというもの。一方、Psychic Signatures 脆弱性は楕円曲線デジタル署名アルゴリズム (ECDSA) 署名検証の脆弱性により、攻撃者が「白紙」の署名を使用して容易に認証をバイパスできるというものだ。

具体的には ECDSA 署名を構成する 2 つの値 (r、s) はいずれも 0 であってはならないが、影響を受けるバージョンの Java が実装する署名検証ではこれらの値が 0 でないことを確認しない。そのため、攻撃者は両方の値を 0 にした署名を作ることで、任意のメッセージと任意の公開鍵に対する有効な署名として利用できる。

Oracle では影響を受けるバージョンを Java SE: 17.0.2 / 18、GraalVM Enterprise Edition 21.3.1 / 22.0.0.2 としているが、サポートの終了した Java SE 15 /16 にも脆弱性は存在する。OpenJDK では影響を受けるバージョンを 15 / 17 / 18 としている。なお、この脆弱性の CVSS スコアを Oracle が 7.5 と評価するのに対し、ForgeRock では満点の 10.0 と評価しているとのことだ。 

スラドのコメントを読む | デベロッパーセクション | セキュリティ | バグ | Java | 暗号

 関連ストーリー:
Authenticode 署名検証の古い脆弱性、最近のバンキングマルウェアキャンペーンで使われる 2022年01月08日
Microsoft、1月のセキュリティ更新プログラムで米NSAから報告された脆弱性を修正 2020年01月18日
Bluetoothの実装に脆弱性、AppleやIntelの製品に影響 2018年07月26日

※この記事はスラドから提供を受けて配信しています。

関連キーワード

関連記事