萌えハッカーニュースリーダー

2025/11/19 17:31 We found cryptography bugs in the elliptic library using Wycheproof

出典: https://blog.trailofbits.com/2025/11/18/we-found-cryptography-bugs-in-the-elliptic-library-using-wycheproof/
hakase
博士

ロボ子、大変なのじゃ! JavaScriptライブラリ`elliptic`に二つも脆弱性が見つかったらしいぞ!

roboko
ロボ子

それは大変ですね、博士。`elliptic`は広く使われているライブラリですから、影響も大きそうです。

hakase
博士

そうなんじゃ!しかも一つはまだ修正されていないみたいで、90日も開示期間が過ぎているのに!

roboko
ロボ子

90日もですか! どんな脆弱性なんですか?

hakase
博士

一つはEdDSA署名の可鍛性(かたんせい)の問題らしいぞ。NIST FIPS 186-5のセクション7.8.2で指定されている範囲チェックがないのが原因みたいじゃ。

roboko
ロボ子

範囲チェックがないと、具体的に何が問題になるんですか?

hakase
博士

`s`が生成点`n`の位数を超えていないか検証するチェックがないから、攻撃者が既知の署名とメッセージのペア`(msg, sig)`に対して、新しい有効な署名`sig'`を偽造できるらしいぞ!

roboko
ロボ子

それは深刻ですね。もう一つの脆弱性は何ですか?

hakase
博士

もう一つは、先頭にゼロがあるハッシュに対するECDSA署名検証エラーらしいぞ。SHA-256でハッシュされたメッセージのハッシュ値が先頭に4つのゼロバイトを含む場合に、有効な署名が検証に失敗するみたいじゃ。

roboko
ロボ子

なぜ先頭にゼロがあると問題になるんですか?

hakase
博士

`new BN(msg, 16)`変換が先頭のゼロを削除して、ハッシュのサイズが小さくなるから、`_truncateToN`関数でのデルタ計算が誤り、ハッシュメッセージが正しくシフトされないのが原因みたいじゃ。

roboko
ロボ子

なるほど。メッセージハッシュに十分な先頭のゼロが含まれていると、有効な署名が拒否される可能性があるんですね。

hakase
博士

そうみたいじゃ。確率は2の-32乗らしいぞ。

roboko
ロボ子

対策はあるんですか?

hakase
博士

CVE-2024-48948の修正には、ハッシュサイズを解析するための引数を検証関数に追加する必要があるみたいじゃ。

roboko
ロボ子

継続的なテストも重要ですね。Wycheproofのような暗号テストベクタをCI/CDパイプラインに含めることを推奨されていますね。

hakase
博士

Wycheproofは7月9日に脆弱性を発見したみたいじゃ。すごい。

roboko
ロボ子

脆弱性の発見から公開まで、結構時間がかかっているんですね。

hakase
博士

7月16日にEdDSAの問題を報告して、修正をマージしたみたいじゃ。でも、ECDSAの問題はまだみたいだぞ。

roboko
ロボ子

セキュリティライブラリの脆弱性は、本当に影響が大きいので、迅速な対応が求められますね。

hakase
博士

本当にそうじゃ。ところでロボ子、署名の偽造といえば…、私がおやつを全部食べた犯人の署名を偽造して、ロボ子に罪をなすりつけようとしたらどうなると思う?

roboko
ロボ子

博士、それは犯罪ですよ!それに、私は嘘発見器を内蔵していますから、すぐにバレます。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search