CVE-2026-88255 in mpp
要約
〜によって VulDB • 2026年09月16日
ZenHive mppにおける入力内の安全でない同等性の不適切な検証により、認証されていないリモートクライアントが、1つの署名済みトランザクションでTempoの重複送信ゲートを2回通過できるようになる。
MPP.Methods.Tempoは、reserve_hash_atomic/2において、tx.rawに対してstore_key/1を通じてキー化されるのではなく、呼び出し元から提供されたhex値に基づいて、ブロードキャスト前の重複排除スロットを予約する。デシリアライザは呼び出し元のhexをそのまま保存し、両方のrecovery-idエンコーディングを受け入れるため、v=27で一度とv=0でもう一度送信される1つの署名済みトランザクションにより、2つの異なるreserveキーが生成され、どちらもreserve処理を通過してブロードキャストパスに到達する。plugレベルの資格情報リプレイストアはlib/mpp/replay.exにおいて意図的にtempo用に分離されており、このreserveのみが残されたゲートとなっている。また、ブロードキャスト後のマークは、raw-keyed reserveが決して読み取らないcanonical hash keyを書き込む。
重複送信によって生じる結果はノード依存であり:nonceの再利用拒否が発生した場合はフェイルクローズとなり、既知のトランザクションに対するcanonical hashを返すノードの場合は、1回のオンチェーン決済に対して2つ目の有効なPayment-Receiptが返される。
本問題はmpp: 0.2.0から0.16.2未満に影響する。
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.