Linux Distros のパッチ未適用の脆弱性: CVE-2026-98981

critical Nessus プラグイン ID 371592

概要

Linux/Unix ホストには、ベンダーにより修正されていないことを示す脆弱性を持つ複数のパッケージがインストールされています。

説明

Linux/Unix ホストには、ベンダーが提供するパッチが利用できない脆弱性の影響を受ける複数のパッケージがインストールされています。

- namespace:dentry のマウントをデタッチする前に dentry のハッシュ化を解除します unlink()、rmdir()、rename() は、ファイルシステムからエントリを削除し、inode がロックされた状態でエントリで detach_mounts() を呼び出し、inode がアンロックされたら d_delete() を呼び出します。問題は、detach_mounts()とd_delete()の間でdentryはまだハッシュされ、正であるということです。しかし、detach_mounts()の後は、もはや何もdentryをカバーしません。dcache のこの dentry を見つけた検索によって、マウントが隠していたものが明らかになる可能性があります。これは、他のマウント名前空間のマウントポイントであるファイルまたはディレクトリのリンクを解除するときに問題になります。基礎となるエントリをカバーしたすべてのユーザーは、d_delete() が実行されるまで detach_mount() 呼び出しを競合できます。レースウィンドウはそれほど小さくありません。これには、完全な synchronize_rcu_expedited() 猶予期間のある namespace_unlock() とエントリの inode_unlock() が含まれます。私の実験では、16140のうちの11938でオーバーマウントされたファイルを読み取ろうとし続けた3つのウォーカーが、1分以内にファイルシステムのbindマウントからマウントポイントを削除したリンクを解除しました。面白いことに、d_invalidate()には同じ順序の問題がありますが、正しく理解されています。最初に dentry のハッシュ化を解除し、その後でマウントをデタッチします。__detach_mounts() でも同じことをしましょう: - dentry がまだ見つからない検索は、dcache でそれを見逃し、呼び出し元が保持するディレクトリロックを名前が永久になくなるまで待機します。- すでに mount_lock チェックに失敗していることが判明したロックレス検索は、dentry が依然としてマウントポイントとしてカウントされ、d_seq チェックが行われないとカウントされなくなったら再試行します。これは、ロックレスパスを修正します。フォローアップパッチで参照カウント検索を修正する必要があります。だからd_drop()dentry。dentry は陽性のままで保持されますが、もう見つかりません。続いて、デタッチに進み、リンクを解除します。リプロデューサー:読み取りは以下のプログラムでカウントされ、4つのCPUを搭載したVMで60秒間3つのウォーカーが計算されました。競合ウィンドウは、ここに貼り付けられたデバッグパッチで引き伸ばされます。fs.detach_race_walk_us は、一度マウントポイント dentry を検出し、そのマウントがクロスされる前に、lookup_fast() でスリープ状態になります。fs.detach_race_unlink_us は、detach_mounts() と d_delete() の間の vfs_unlink() でスリープ状態になります。spdx-license-identifier:GPL-2.0 /* * unlink_covered:* そのマウントのデタッチされたコピーのマウントポイントであるファイルを、そのコピーを通して開かれる検索に対して、リンクを解除します。 * * A は、ファイル f1(コンテンツ SECRET_F)とプレーンファイル * MARK_A を含む tmpfs です。A' は、A'/f1 に MARK_A がバインドされた A の open_tree(OPEN_TREE_CLONE)コピーであり、ツリー fd が * 閉じると、そのルートの O_PATH fd を通じて保持されます。ウォーカーは、その fd を通して f1 を開きますが、ドライバーは A/f1、* のリンクを解除します。歩行者はMARK_Aを読んだり、ENOENTになったりすることがあります。* SECRET_F の読み取りがヒットします:マウントが * なくなった後に名前が見つかりました。ロックレスウォークは openat2(RESOLVE_CACHED) を使用します。* * 使用法:
unlink_covered [-t 秒] [-w ウォーカー] */ #ifndef _GNU_SOURCE #define _GNU_SOURCE #endif #include <errno.h> #include <fcntl.h> #include <pthread.h> #include <stdatomic.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include < sys/mount.h> #include <sys/stat.h> #include <sys/syscall.h> #include <linux/openat2.h> #ifndef __NR_open_tree #define __NR_open_tree 428 #endif #ifndef __NR_move_mount #define __NR_move_mount 429 #endif #ifndef __NR_openat2 #define __NR_openat2 437 #endif #ifndefOPEN_TREE_CLONE #define OPEN_TREE_CLONE 1 #endif #ifndef OPEN_TREE_CLOEXEC #define OPEN_TREE_CLOEXEC O_CLOEXEC #endif #ifndef MOVE_MOUNT_F_EMPTY_PATH #define MOVE_MOUNT_F_EMPTY_PATH 0x00000004 #endif #define WORK /tmp/uc #define ADIR WORK /A 静的整数期間 = 60、nwalkers = 3;
静的atomic_int停止、writer_waiting;静的pthread_rwlock_t cur_lock = PTHREAD_RWLOCK_INITIALIZER;
静的整数 cur_fd = -1;/* A' の根、-1 wh ---truncated--- (CVE-2026-98981)

Nessus は、ベンダーから報告されたパッケージの存在に依存していることに注意してください。

ソリューション

現時点で既知の解決策はありません。

参考資料

https://security-tracker.debian.org/tracker/CVE-2026-98981

プラグインの詳細

深刻度: Critical

ID: 371592

ファイル名: unpatched_CVE_2026_98981.nasl

バージョン: 1.1

タイプ: Local

エージェント: unix

ファミリー: Misc.

公開日: 2026/10/23

更新日: 2026/10/23

サポートされているセンサー: Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus

リスク情報

VPR

リスクファクター: Medium

スコア: 5

パーセンタイル: 92.98

CVSS v2

リスクファクター: High

基本値: 7.5

現状値: 6.4

ベクトル: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS スコアのソース: CVE-2026-98981

CVSS v3

リスクファクター: Critical

基本値: 9.8

現状値: 9

ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

現状ベクトル: CVSS:3.0/E:U/RL:U/RC:C

脆弱性情報

CPE: cpe:/o:debian:debian_linux:12.0, cpe:/o:debian:debian_linux:13.0, p-cpe:/a:debian:debian_linux:linux

必要な KB アイテム: Host/local_checks_enabled, Host/cpu, global_settings/vendor_unpatched, Host/OS/identifier

エクスプロイトの容易さ: No known exploits are available

脆弱性公開日: 2026/10/23

参照情報

CVE: CVE-2026-98981