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

critical Nessus プラグイン ID 371525

概要

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

説明

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

- namei:refwalk でオーバーマウントされたエントリを明らかにしません。rcuwalk では、dentry は受理される前に検証されます。step_into() step_into() は d_seq を再チェックし、__follow_mount_rcu() はmount_lockを再チェックします。その間にリンクが解除されたエントリは、検索の再試行とミスを引き起こします。refwalk はこれを行いません。
lookup_fast() はハッシュされた dentry の参照を取得し、それを単純に受け入れます。そのため、参照が取得された後に発生するリンク解除が refwalk で表示されません。単純なファイルの場合は問題ありません。リンクが解除される前にたまたま開いただけで、問題ありません。マウントポイント、特にロックされたマウントポイントでは、ほとんどそうではありません。リンクを解除すると、すべてのマウントが解除され、名前が削除されます。まだマウントを通過していない参照ウォークは、単に基礎となるエントリを明らかにします。これは非常に狭い時間枠ですが、ヒットする可能性があります:60 秒でカバーされたファイルを読み取る、3 ウォーカー、~15000 アンリンク、拡大なし 27 そのステップ + 200 us 3741 より信頼性の高い再現については、添付のパッチを参照してください。したがって、step_into() の後のエントリをチェックします。unlink()、rmdir() および rename() は、マウントを取り外して dentry を削除する前に、dont_mount() で dentry をマークします。したがって、DCACHE_CANT_MOUNTでマークされ、そのマウントが確認されるまでにハッシュ化されていない dentry は、refwalk でリンクが解除された名前です。DCACHE_CANT_MOUNTマウントが検索された後に読み取られ、detach_mounts() によってデタッチされる前に設定されます。マウントを見逃したリファウォークはDCACHE_CANT_MOUNTを見るだろう。プレーンな d_unlinked() で問題ありません。名前を変更すると dentry がハッシュチェーンから削除されますが、___d_drop() は d_hash.pprev セットのままになります。このため、 __d_drop() と dentry での名前変更だけがそれをハッシュ化解除します。切断されたエイリアスのIS_ROOTスプライスを反転させる唯一の動き。それはDCACHE_CANT_MOUNT設定されていません。を step_into_slowpath() に追加します。..
LOOKUP_DOWNハッシュ化されていないディレクトリに正当に着陸する可能性があります。マウントにクロスした refwalk に、nd->path.mnt とは異なる path.mnt があります。ファイルシステムが独自にドロップした dentry(d_invalidate()、d_drop())はフラグを設定せず、以前と同様に扱われます。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#ifndef OPEN_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 (存在しません) */ 静的atomic_long n_unlink、n_walk、n_mark、n_enoent、n_othe ---truncated--- (CVE-2026-98980)

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

ソリューション

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

参考資料

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

プラグインの詳細

深刻度: Critical

ID: 371525

ファイル名: unpatched_CVE_2026_98980.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-98980

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, 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-98980