CVE-2026-89670 LinuxカーネルNFSdのRCU競合脆弱性に注意

この記事はAIがNVDのCVE情報をもとに要約・生成したものです。影響範囲や対策は、必ずNVDおよび各ベンダーの公式情報をご確認ください。

公開日: 2026-09-11T20:19:53.517 / 更新日: 2026-09-13T07:17:32.670 / CVSS: 7.8 / 深刻度: HIGH

LinuxカーネルのNFSd(Network File System Daemon)に、競合条件を引き起こす脆弱性が発見されました。この問題は、`nfsd_file`オブジェクトが`call_rcu`で解放される際、`SLAB_TYPESAFE_BY_RCU`の設定がされていないため、RCU grace period終了後にメモリが再利用される可能性があります。これにより、`cmpxchg`を用いたリトライ処理中に解放済みメモリを操作し、予期せぬ動作やシステム不安定を引き起こすリスクがあります。Linuxサーバー運用者は、カーネルの該当部分が影響を受ける可能性があるため、公開されたパッチの適用を検討してください。確認時は、RCU読み取りロックの適切な取得・解放が行われているかをコードレベルで確認する必要があります。CVSSスコア7.8で深刻度はHIGHとされ、セキュリティ更新の優先度が高いと判断されます。

参照情報

ソクラテスの問い、プラトンの備え

ソクラテス

プラトンよ、この脆弱性の根本にある矛盾について、君はどう考える?RCUが設計された目的と、このコードがそれを無視した結果の不協和を、我々はどのように理解すべきだろう?

プラトン

それは確かに不思議な話です。しかし、まずは現実的な確認が必要です。君の言葉に従えば、まず「nfsd_file」のスラブが`SLAB_TYPESAFE_BY_RCU`を設定していないか、`filecache.c`の789行目に該当するコードを確認するべきでしょう。また、`cmpxchg`の直前に`rcu_read_lock`を取得し、解放が適切に行われているか、同じファイルの296行目と`nfsd_open_local_fh()`の処理をチェックする必要があります。

ソクラテス

しかし、このコードの設計では「競合条件」が生じる理由は、RCUの grace period とメモリ再利用のタイミングの不一致にあるのか?

プラトン

その通りです。ただ、我々運用者は、パッチが公開されている以上、まず公式リリースノートを確認し、影響を受けるカーネルバージョンが自分の環境に該当するかを確認すべきです。また、パッチ適用後は、RCU関連のコード変更がシステムに与える影響を監視する仕組みを構築する必要があります。

ソクラテス

では、この脆弱性が発生した場合、システムの動作にどのような影響が生じるのか?

プラトン

メモリの再利用により、`cmpxchg`が失敗した際に`refcount_inc_not_zero`が無効なメモリを操作し、システムがクラッシュしたり、データが破損したりする可能性があります。このため、パッチ適用の優先度は高く、変更管理の文書化が不可欠です。

ソクラテス

だが、運用者はこの脆弱性が本当に自分のシステムに影響を与えるのか、どうやって判断すべきだろう?

プラトン

ベンダーの公式情報を確認し、カーネルのバージョンと影響範囲を照らし合わせるのが第一歩です。また、RCUロックの取得・解放が適切に行われているか、コードレビューを実施するか、静的解析ツールで検出するか、選択肢があります。ユーモラスにいえば、「コードを読むか、ツールに読んでもらうか、どちらが早いか」が問題です。

ソクラテス

では、我々がこの脆弱性に対応する上で、最も重要な倫理的責任は何か?

プラトン

それは、パッチ適用を怠らず、リスクを軽減する努力を怠らないことでしょう。しかし、それと同時に、システムの状態を常に監視し、変更を文書化し、チーム内で知識を共有することも重要です。さもなくば、次の脆弱性が発生したときに、また同じような混乱を繰り返すでしょう。

関連キーワード: linux, kernel