{"metadata": {"vulnerability": "CVE-2026-98980", "count": 32, "kinds": {"milestone": 8, "sighting": 1, "kev": 0, "other": 23}}, "data": [{"timestamp": "2026-09-25T10:25:14.383Z", "date_only": false, "value": "2026-09-25T10:25:14.383Z", "kind": "milestone", "label": "Reserved", "source": "cvelistv5", "record": "CVE-2026-98980", "field": "cveMetadata.dateReserved"}, {"timestamp": "2026-10-23T12:19:53.838Z", "date_only": false, "value": "2026-10-23T12:19:53.838Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-98980", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, {"timestamp": "2026-10-23T13:17:00Z", "date_only": false, "value": "2026-10-23T13:17:00Z", "kind": "milestone", "label": "Published", "source": "osv_ubuntu \u00b7 UBUNTU-CVE-2026-98980", "record": "UBUNTU-CVE-2026-98980", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-23T13:17:19Z", "date_only": false, "value": "2026-10-23T13:17:19Z", "kind": "other", "label": "Nvd published at", "source": "github \u00b7 GHSA-R8CP-FX7R-5FXQ", "record": "GHSA-R8CP-FX7R-5FXQ", "field": "database_specific.nvd_published_at", "linked_record": true}, {"timestamp": "2026-10-23T13:17:19.750Z", "date_only": false, "value": "2026-10-23T13:17:19.750", "kind": "milestone", "label": "Published", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-98980", "record": "FKIE_CVE-2026-98980", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-23T13:26:41.799Z", "date_only": false, "value": "2026-10-23T13:26:41.799095Z", "kind": "sighting", "label": "Seen", "source": "https://infosec.exchange/users/cve/statuses/117490450517006815", "record": "CVE-2026-98980", "field": "creation_timestamp", "uuid": "29c42756-bdc0-44a2-8eb2-3e3670f23337", "content": "CVE-2026-98980 namei: don't reveal overmounted entries in refwalk In the Linux kernel, the following vulnerability has been resolved:\nnamei: don't reveal overmounted entries in refwalk\nIn rcuwalk the dentry is validated before it is accepted. step_into()step_into() rechecks d_seq and __follow_mount_rcu() rechecks mount_lock.An entry that gets unlinked in between causes the lookup to retry andmiss.\nA refwalk doesn't do this. lookup_fast() takes a reference on the hasheddentry and simply accepts it. So an unlink that happens after thereference was taken isn't seen by refwalk. That's fine for a simplefile. We just happened to open it before it was unlinked, no problem.\nFor a mountpoint and specifically a locked mountpoint it very muchisn't. The unlink detaches all mounts and then removes the name. Anyrefwalk that hasn't traversed the mounts yet simply reveals theunderlying entry. It's a very narrow window but it can be hit:\n  reads of a covered file in 60 s, 3 walkers, ~15000 unlinks    no widening            27    that step + 200 us   3741\nSee the appended patch for a more reliable reproducer.\nSo check the entry after step_into(). unlink(), rmdir() and rename()mark the dentry with dont_mount() before they detach the mounts andremove the dentry.\nSo a dentry that is marked with DCACHE_CANT_MOUNT and is unhashed by thetime its mounts were looked at is a name that was unlinked under therefwalk. DCACHE_CANT_MOUNT is read after the mounts were looked up andit is set before they are detached by detach_mounts(). A refwalk thatmissed the mounts will see DCACHE_CANT_MOUNT.\nPlain d_unlinked() is fine. A rename takes the dentry off its hash chainbut ___d_drop() leaves d_hash.pprev set. So only __d_drop() and a renameover the dentry unhash it. The only move that flips IS_ROOT splices in adisconnected alias. That doesn't have DCACHE_CANT_MOUNT set.\nAdd the to step_into_slowpath(). \"..\" and LOOKUP_DOWN may legitimatelyland on an unhashed directory. A refwalk that crossed onto a mount haspath.mnt different from nd-&gt;path.mnt. A dentry that a filesystem droppedon its own (d_invalidate(), d_drop()) doesn't have the flag set and istreated as before.\n  // SPDX-License-Identifier: GPL-2.0  /*   * unlink_covered: unlink a file that is a mountpoint in a detached copy of   * its mount, against walkers that open it through that copy.   *   * A is a tmpfs with the file f1 (content SECRET_F) and the plain file   * MARK_A. A' is an open_tree(OPEN_TREE_CLONE) copy of A with MARK_A bound   * on A'/f1, held through an O_PATH fd on its root once the tree fd is   * closed. Walkers open f1 through that fd while the driver unlinks A/f1,   * where nothing is mounted on it. A walker may read MARK_A or get ENOENT.   * A read of SECRET_F is a hit: the name was found after its mount was   * gone. The lockless walks use openat2(RESOLVE_CACHED).   *   * usage: unlink_covered [-t seconds] [-w walkers]   */  #ifndef _GNU_SOURCE  #define _GNU_SOURCE  #endif  #include &lt;errno.h&gt;  #include &lt;fcntl.h&gt;  #include &lt;pthread.h&gt;  #include &lt;stdatomic.h&gt;  #include &lt;stdio.h&gt;  #include &lt;stdlib.h&gt;  #include &lt;string.h&gt;  #include &lt;unistd.h&gt;  #include &lt;sys/mount.h&gt;  #include &lt;sys/stat.h&gt;  #include &lt;sys/syscall.h&gt;  #include &lt;linux/openat2.h&gt;\n  #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\n  #define WORK \"/tmp/uc\"  #define ADIR WORK \"/A\"\n  static int duration = 60, nwalkers = 3;  static atomic_int stop, writer_waiting;  static pthread_rwlock_t cur_lock = PTHREAD_RWLOCK_INITIALIZER;  static int cur_fd = -1;\t\t/* the root of A', -1 while there is none */  static atomic_long n_unlink, n_walk, n_mark, n_enoent, n_othe---truncated---\nhttps://www.cve.org/CVERecord?id=CVE-2026-98980https://git.kernel.org/stable/c/e2b10181d913b4efa3a8dc67a532f859aa5f95e0https://git.kernel.org/stable/c/5f97df8ca7fadf5b53954f50073445ba193902c0https://git.kernel.org/stable/c/b43ff2deef48260bfbdc0dcb520f7929bd3e4007https://git.kernel.org/stable/c/8189ab688f5a2c745dc90b63374da02f213d6994#kernel #Linux#CVE_2026_98980#bot", "url": "https://infosec.exchange/users/cve/statuses/117490450517006815"}, {"timestamp": "2026-10-23T15:31:33Z", "date_only": false, "value": "2026-10-23T15:31:33Z", "kind": "milestone", "label": "Published", "source": "github \u00b7 GHSA-R8CP-FX7R-5FXQ", "record": "GHSA-R8CP-FX7R-5FXQ", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-24T01:10:46Z", "date_only": false, "value": "2026-10-24T01:10:46.000Z", "kind": "other", "label": "Advisory revision", "source": "csaf_microsoft \u00b7 MSRC_CVE-2026-98980", "record": "MSRC_CVE-2026-98980", "field": "document.tracking.revision_history.0.date", "linked_record": true}, {"timestamp": "2026-10-24T01:10:46Z", "date_only": false, "value": "2026-10-24T01:10:46.000Z", "kind": "other", "label": "None available", "source": "csaf_microsoft \u00b7 MSRC_CVE-2026-98980", "record": "MSRC_CVE-2026-98980", "field": "vulnerabilities.0.remediations.0.date", "linked_record": true}, {"timestamp": "2026-10-24T01:10:46Z", "date_only": false, "value": "2026-10-24T01:10:46.000Z", "kind": "milestone", "label": "Published", "source": "csaf_microsoft \u00b7 MSRC_CVE-2026-98980", "record": "MSRC_CVE-2026-98980", "field": "document.tracking.initial_release_date", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-24T14:09:48.534Z", "date_only": false, "value": "2026-10-24T14:09:48.534Z", "kind": "other", "label": "Updated", "source": "cvelistv5", "record": "CVE-2026-98980", "field": "cveMetadata.dateUpdated"}, {"timestamp": "2026-10-24T14:09:48.534Z", "date_only": false, "value": "2026-10-24T14:09:48.534Z", "kind": "other", "label": "Updated", "source": "cvelistv5 / Linux", "record": "CVE-2026-98980", "field": "containers.cna.providerMetadata.dateUpdated"}, {"timestamp": "2026-10-24T14:16:50.510Z", "date_only": false, "value": "2026-10-24T14:16:50.510", "kind": "other", "label": "Updated", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-98980", "record": "FKIE_CVE-2026-98980", "field": "lastModified", "linked_record": true}, {"timestamp": "2026-10-24T15:32:48Z", "date_only": false, "value": "2026-10-24T15:32:48Z", "kind": "other", "label": "Updated", "source": "github \u00b7 GHSA-R8CP-FX7R-5FXQ", "record": "GHSA-R8CP-FX7R-5FXQ", "field": "modified", "linked_record": true}, {"timestamp": "2026-10-25T01:02:46Z", "date_only": false, "value": "2026-10-25T01:02:46.000Z", "kind": "other", "label": "Advisory revision", "source": "csaf_microsoft \u00b7 MSRC_CVE-2026-98980", "record": "MSRC_CVE-2026-98980", "field": "document.tracking.revision_history.1.date", "linked_record": true}, {"timestamp": "2026-10-25T23:00:00Z", "date_only": false, "value": "2026-10-25T23:00:00.000+00:00", "kind": "other", "label": "Advisory revision", "source": "csaf_certbund \u00b7 WID-SEC-W-2026-4152", "record": "WID-SEC-W-2026-4152", "field": "document.tracking.revision_history.0.date", "linked_record": true}, {"timestamp": "2026-10-25T23:00:00Z", "date_only": false, "value": "2026-10-25T23:00:00.000+00:00", "kind": "milestone", "label": "Published", "source": "csaf_certbund \u00b7 WID-SEC-W-2026-4152", "record": "WID-SEC-W-2026-4152", "field": "document.tracking.initial_release_date", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-25T23:00:00Z", "date_only": false, "value": "2026-10-25T23:00:00.000+00:00", "kind": "other", "label": "Release date", "source": "csaf_certbund \u00b7 WID-SEC-W-2026-4152", "record": "WID-SEC-W-2026-4152", "field": "vulnerabilities.111.release_date", "linked_record": true, "metric_role": "disclosure", "metric_basis": "recorded_event"}, {"timestamp": "2026-10-26T14:48:54Z", "date_only": false, "value": "2026-10-26T14:48:54.000Z", "kind": "other", "label": "Advisory revision", "source": "csaf_microsoft \u00b7 MSRC_CVE-2026-98980", "record": "MSRC_CVE-2026-98980", "field": "document.tracking.revision_history.2.date", "linked_record": true}, {"timestamp": "2026-10-28T06:07:53.470Z", "date_only": false, "value": "2026-10-28T06:07:53.470790Z", "kind": "milestone", "label": "Published", "source": "osv_bellsoft \u00b7 BELL-CVE-2026-98980", "record": "BELL-CVE-2026-98980", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-11-01T15:02:32Z", "date_only": false, "value": "2026-11-01T15:02:32.000Z", "kind": "other", "label": "Advisory revision", "source": "csaf_microsoft \u00b7 MSRC_CVE-2026-98980", "record": "MSRC_CVE-2026-98980", "field": "document.tracking.revision_history.3.date", "linked_record": true}, {"timestamp": "2026-11-02T23:00:00Z", "date_only": false, "value": "2026-11-02T23:00:00.000+00:00", "kind": "other", "label": "Advisory revision", "source": "csaf_certbund \u00b7 WID-SEC-W-2026-4152", "record": "WID-SEC-W-2026-4152", "field": "document.tracking.revision_history.1.date", "linked_record": true}, {"timestamp": "2026-11-03T06:23:55.611Z", "date_only": false, "value": "2026-11-03T06:23:55.611816Z", "kind": "other", "label": "Updated", "source": "osv_bellsoft \u00b7 BELL-CVE-2026-98980", "record": "BELL-CVE-2026-98980", "field": "modified", "linked_record": true}, {"timestamp": "2026-11-03T23:00:00Z", "date_only": false, "value": "2026-11-03T23:00:00.000+00:00", "kind": "other", "label": "Advisory revision", "source": "csaf_certbund \u00b7 WID-SEC-W-2026-4152", "record": "WID-SEC-W-2026-4152", "field": "document.tracking.revision_history.2.date", "linked_record": true}, {"timestamp": "2026-11-04T23:00:00Z", "date_only": false, "value": "2026-11-04T23:00:00.000+00:00", "kind": "other", "label": "Advisory revision", "source": "csaf_certbund \u00b7 WID-SEC-W-2026-4152", "record": "WID-SEC-W-2026-4152", "field": "document.tracking.revision_history.3.date", "linked_record": true}, {"timestamp": "2026-11-05T14:46:01Z", "date_only": false, "value": "2026-11-05T14:46:01.000Z", "kind": "other", "label": "Advisory revision", "source": "csaf_microsoft \u00b7 MSRC_CVE-2026-98980", "record": "MSRC_CVE-2026-98980", "field": "document.tracking.revision_history.4.date", "linked_record": true}, {"timestamp": "2026-11-05T14:46:01Z", "date_only": false, "value": "2026-11-05T14:46:01.000Z", "kind": "other", "label": "Updated", "source": "csaf_microsoft \u00b7 MSRC_CVE-2026-98980", "record": "MSRC_CVE-2026-98980", "field": "document.tracking.current_release_date", "linked_record": true}, {"timestamp": "2026-11-05T23:00:00Z", "date_only": false, "value": "2026-11-05T23:00:00.000+00:00", "kind": "other", "label": "Advisory revision", "source": "csaf_certbund \u00b7 WID-SEC-W-2026-4152", "record": "WID-SEC-W-2026-4152", "field": "document.tracking.revision_history.4.date", "linked_record": true}, {"timestamp": "2026-11-05T23:00:00Z", "date_only": false, "value": "2026-11-05T23:00:00.000+00:00", "kind": "other", "label": "Updated", "source": "csaf_certbund \u00b7 WID-SEC-W-2026-4152", "record": "WID-SEC-W-2026-4152", "field": "document.tracking.current_release_date", "linked_record": true}, {"timestamp": "2026-11-06T08:02:51.372Z", "date_only": false, "value": "2026-11-06T08:02:51.372Z", "kind": "other", "label": "Document generated", "source": "csaf_microsoft \u00b7 MSRC_CVE-2026-98980", "record": "MSRC_CVE-2026-98980", "field": "document.tracking.generator.date", "linked_record": true}, {"timestamp": "2026-11-06T10:51:26Z", "date_only": false, "value": "2026-11-06T10:51:26Z", "kind": "other", "label": "Updated", "source": "osv_ubuntu \u00b7 UBUNTU-CVE-2026-98980", "record": "UBUNTU-CVE-2026-98980", "field": "modified", "linked_record": true}, {"timestamp": "2026-11-06T13:10:23.054Z", "date_only": false, "value": "2026-11-06T13:10:23.054+00:00", "kind": "other", "label": "Document generated", "source": "csaf_certbund \u00b7 WID-SEC-W-2026-4152", "record": "WID-SEC-W-2026-4152", "field": "document.tracking.generator.date", "linked_record": true}], "metrics": {"as_of": "2026-11-09T12:17:26.984Z", "anchors": {"origin": {"timestamp": "2026-10-23T12:19:53.838Z", "date_only": false, "value": "2026-10-23T12:19:53.838Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-98980", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "discovery": null, "report": null, "acknowledgement": null, "disclosure": {"timestamp": "2026-10-23T12:19:53.838Z", "date_only": false, "value": "2026-10-23T12:19:53.838Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-98980", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "exploit_publication": null, "exploitation": null, "patch": null}, "vendor_response_time": {"available": false, "missing": ["start", "end"]}, "time_to_exploit": {"available": false, "missing": ["end"]}, "disclosure_to_exploit": {"available": false, "missing": ["end"]}, "disclosure_to_exploit_publication": {"available": false, "missing": ["end"]}, "time_to_patch": {"available": false, "missing": ["start", "end"]}, "total_time_to_patch": {"available": false, "missing": ["start", "end"]}, "disclosure_to_patch": {"available": false, "missing": ["end"]}, "time_unpatched": {"available": true, "seconds": 1468653.146771, "hours": 407.9592074363889, "days": 16.998300309849537, "min_seconds": 1468653.146771, "max_seconds": 1468653.146771, "approximate": false, "ongoing": true, "order_known": true, "batch_listing": false, "end_before_start": false, "start": {"timestamp": "2026-10-23T12:19:53.838Z", "date_only": false, "value": "2026-10-23T12:19:53.838Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-98980", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "end": {"timestamp": "2026-11-09T12:17:26.984Z", "date_only": false, "label": "As of", "source": "Calculation clock"}}, "exploitation_to_patch": {"available": false, "missing": ["start"]}, "exploit_publication_to_patch": {"available": false, "missing": ["start"]}}}
