|
| 1 | +--- |
| 2 | +title: 悪意あるP2PメッセージによるCPU DoS/停止の開示(バージョン0.17.2以下) |
| 3 | +name: blog-disclose-orphan-dos |
| 4 | +id: ja-blog-disclose-orphan-dos |
| 5 | +lang: ja |
| 6 | +permalink: /ja/2024/07/03/disclose-orphan-dos/ |
| 7 | +type: advisory |
| 8 | +layout: post |
| 9 | + |
| 10 | +## If this is a new post, reset this counter to 1. |
| 11 | +version: 1 |
| 12 | + |
| 13 | +## Only true if release announcement or security annoucement. English posts only |
| 14 | +announcement: 0 |
| 15 | + |
| 16 | +excerpt: > |
| 17 | + 特別に細工された未承認トランザクションのオーファンを処理する際に、ノードが数時間停止する可能性がありました。 |
| 18 | +--- |
| 19 | + |
| 20 | +特別に細工された未承認トランザクションのオーファンを処理する際に、ノードが数時間停止する可能性がありました。 |
| 21 | + |
| 22 | +この問題の重大度は**高**です。 |
| 23 | + |
| 24 | +## 詳細 {#details} |
| 25 | + |
| 26 | +トランザクションをmempoolに受け入れた後、ノードはオーファントランザクションのキャッシュを調べて、 |
| 27 | +新しく受け入れられたトランザクションによりオーファントランザクションが受け入れ可能になるかどうか調べます。 |
| 28 | +この探索は2次関数的で、新しく受け入れれたトランザクションの各アウトプットに対して、 |
| 29 | +(100件に制限されている)キャッシュされたオーファントランザクションをすべて調べます。 |
| 30 | +オーファントランザクションを無効でありながら検証にコストがかかるよう特別に細工すると、 |
| 31 | +ノードが数時間停止する可能性があります。 |
| 32 | + |
| 33 | +この停止は、(オーファンが有効であるかどうかにかかわらず)オーファンとの一致が見つかった際に |
| 34 | +新しいメッセージを処理するためにオーファンの解決を中断することで、 |
| 35 | +Pieter Wuilleによって[PR #15644](https://github.com/bitcoin/bitcoin/pull/15644)で修正されました。 |
| 36 | + |
| 37 | +## 貢献 {#attribution} |
| 38 | + |
| 39 | +このバグを責任を持って開示し、修正に関するフィードバックを提供してくれたsec.eineに感謝します。 |
| 40 | + |
| 41 | +## タイムライン {#timeline} |
| 42 | + |
| 43 | +- 2019-03-19 sec.eineがメールでGreg Maxwellにこの問題を報告 |
| 44 | +- 2019-03-21 Greg Maxwellが提案されたパッチに関する情報を返信 |
| 45 | +- 2019-03-22 sec.eineがパッチについてフィードバックを提供(「堅実で、[..]注意を引かない」) |
| 46 | +- 2019-03-22 Pieter WuilleがPR #15644を公開 |
| 47 | +- 2019-04-01 PR #15644がマージされる |
| 48 | +- 2019-05-18 Bitcoin Core バージョン 0.18.0が修正と共にリリースされる |
| 49 | +- 2020-07-22 PR review clubで問題が[部分的に開示される](https://bitcoincore.reviews/15644#l-285) |
| 50 | +- 2020-08-01 脆弱性のある最後のバージョンのBitcoin Core version (0.17.x)がEOLになる |
| 51 | +- 2024-07-03 公開 |
| 52 | + |
| 53 | +{% include references.md %} |
0 commit comments