Signal
📡 Signal|Linux カーネルの脆弱性に lnd と Cardano が別々の層で対処
Linux カーネルの脆弱性 CVE-2026-98432 に、lnd はソフトの設定で、Cardano の Intersect はカーネル更新の呼びかけで対処した。Ubuntu の修正版はまだ出ていない。

Linux カーネルの IPv4 TCP の脆弱性 CVE-2026-98432 について、Bitcoin の Lightning ネットワークのノードソフト lnd が 10 月 30 日(UTC)に対策版を出し、Cardano の Intersect も同じ日付の週報でステークプール運営者にカーネルの更新を求めた。lnd はソフト自身の設定で攻撃の通り道をふさぎ、Intersect は OS の修正版が出たら入れる段取りを呼びかけている。
修正版のカーネルは、Ubuntu ではまだどの LTS にも届いていない。チェーンが違っても、ノードの土台はたいてい同じ Linux だ。暗号資産のインフラの強さは、合意の仕組みだけでなく、その下の OS の更新がどれだけ速く行き渡るかでも決まる。
10 月 15 日に公表された 9.8 の脆弱性
脆弱性は 10 月 15 日、Linux カーネルの CVE 採番機関が公表した。TCP の接続を受け付ける途中で、相手から届いた IP オプション(経路の記録などの付加情報)を保存したメモリを、別の CPU がまだ読んでいるうちに解放してしまう。解放済みのメモリを読みにいく use-after-free と呼ばれる種類の不具合で、CVE 記録は認証なしにネット越しに突けるとして、深刻度を 10 点満点の 9.8 としている。
公表から 2 週間たって話が大きくなったのは、実際の攻撃の通り道が見えてきたからだ。lnd の告知によると、実証された遠隔攻撃には MPTCP(複数の経路を束ねる TCP の拡張)の待ち受けが要る。そして Go 言語は 1.24 から、Linux で標準ライブラリを使ってサーバーを立てると、MPTCP の待ち受けを既定で有効にする。
10 月 29 日には、Go の開発の場に「MPTCP を既定で無効にすべきだ」という提案が立った。Go チームの担当者は、不具合自体は MPTCP に固有のものではなく、最善の対策は修正済みのカーネルに上げることだと書いている。既定を変えるかどうかは、11 月 1 日時点で決まっていない。
lnd は自分のバイナリで通り道を閉じた
lnd は Go で書かれている。10 月 30 日に出た v0.21.6 と v0.20.7 は、MPTCP の待ち受けを既定で止めた。開発元の Lightning Labs は日本時間 31 日朝、公式 X でノード運営者に更新を強く勧めた。
ただし lnd 自身が、これは「緩和策であって修正ではない」と書いている。止まるのは lnd が開く待ち受けだけで、同じマシンで動くほかのサービスは守られない。そのため lnd は、OS 側でも MPTCP を止めること、配布元から修正済みのカーネルが出たら入れることをあわせて求めている。Windows と macOS は影響を受けない。
アプリの層で手を打つと速い。半面、守れる範囲はそのソフト 1 本に限られる。
Cardano はカーネルの修正を入れる段取りを求めた
Intersect(Cardano の会員制の運営組織)は 10 月 30 日付の週報 #135 で、ステークプール運営者にこの脆弱性への備えを呼びかけた。中身は、ブロックを作るノードとリレーのカーネルの版を確かめ、使っている配布版が修正済みのカーネルを出したら入れて再起動すること。修正版はすでに一部の配布版で出ている一方、Ubuntu などはまだ準備中だとしている。
Ubuntu のこの CVE のページでは、11 月 1 日時点で 26.04・24.04・22.04 の各 LTS が「脆弱・対応中」、20.04 以前も「脆弱」のままで、修正済みの版はまだ載っていない。カーネル本体の修正コミットは、CVE 記録に安定版の枝ごとに並んでいる。直し方はもう決まっていて、遅れているのは配布版のパッケージへの取り込みだ。
OS の層の対策は、マシン全体を守れる代わりに、配布元の速さに左右される。
Go で書かれたノードは lnd だけではない
言語の既定値は、そのまま攻撃面になりうる。lnd の件はその実例だ。Go は Ethereum の実行クライアント Geth や、Cosmos SDK で作られたチェーンのノードにも使われている。それぞれが影響を受けるかは、組み込んだ Go の版と待ち受けの作り方で決まる。Go チームは環境変数 GODEBUG=multipathtcp=0 などで既定を戻す方法を示しており、Go の issue には、別のソフトがこの CVE を名指しして MPTCP を止めた変更もすでに紐づいている。
同じ脆弱性に、Bitcoin 側はアプリで、Cardano 側は OS で手を打った。どちらが正しいという話ではなく、ノードを動かす側には両方の層を見る仕事が残る。
次に見るもの
- Ubuntu の CVE-2026-98432 のページ。24.04 LTS の欄が「対応中」から「修正済み」に変わった日が、多くのノードがカーネルを入れ替えられる日になる
- Go の issue #82717。MPTCP の既定を変えるかの結論と、次の定例マイナーリリースに何が入るか
- Go で書かれたほかのノードソフト(Geth など)の開発チームが、同じ種類の対策版を出すかどうか
ことば
- CVE — 公表された脆弱性に振られる世界共通の番号。今回の CVE-2026-98432 は、Linux カーネル自身の採番機関が 10 月 15 日に登録した。
- MPTCP — 1 本の通信を複数の経路に分けて流す TCP の拡張。Go 1.24 が Linux での待ち受けの既定にしたため、今回の遠隔攻撃の入口になった。
- use-after-free — 解放したメモリを、別の処理がまだ使っている状態のこと。その間に中身を書き換えられると、乗っ取りにつながることがある。
🔗 一次ソース
- CVE 記録 CVE-2026-98432(Linux カーネル CNA・10/15 公表・CVSS 9.8)cve.org
Ubuntu セキュリティ: CVE-2026-98432(11/1 時点で全 LTS が対応中)Ubuntulnd v0.21.6-beta リリースGitHub
lnd v0.20.7-beta リリースGitHub
- Lightning Labs 公式 X の告知: https://x.com/lightning/status/2116302309403537824
Go issue #82717「net: Disable MPTCP by default」GitHub
Intersect Weekly Update #135(10/30)intersectmbo.org- Intersect 公式 X の告知: https://x.com/IntersectMBO/status/2116569049874272525