Asayomu Tech
注目★★★★★GitHub Advisory

Deno CVE-2026-49440: checkPrime の Miller-Rabin ゼロラウンド問題を修正

30秒で把握

  • 1CVE-2026-49440: Deno の checkPrime が checks=0 でラウンド数ゼロで素数誤判定
  • 2試し割り上限 17,863 のみで合成数を素数と報告・Node.js は非影響
  • 3パッチ後は FIPS 186-4 最低ラウンド数が保証・明示 checks>=1 も更新推奨

要約

DenoのNode.js互換crypto APIである`checkPrime`/`checkPrimeSync`で、`options.checks`をデフォルト値`0`のまま呼び出すとMiller-Rabin素数判定ループが一切実行されず、試し割り(上限17,863)のみで「おそらく素数」と誤報告する脆弱性(CVE-2026-49440)が修正された。例えば`17,881 × 17,891`のような合成数が素数と判定される。Node.js本体はOpenSSLの`BN_check_prime`がFIPS 186-4基準でビット長に応じたデフォルトラウンド数を補完するため同問題は発生しない。パッチ適用後はFIPS最低ラウンド数が保証される。

あなたへの影響

Denoでnode:cryptoの`checkPrime`を暗号鍵生成や素数検証に利用しているチームは、`checks`オプションを省略または`0`指定しているコードを確認し、パッチ済みバージョンへ更新することを推奨する。

推奨:明示的に`checks >= 1`を渡していた場合も、FIPS最低ラウンド数を下回っていた可能性があるため更新が望ましい。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。