CVE-2026-98398 (GCVE-0-2026-98398)

Vulnerability from cvelistv5 – Published: 2026-10-14 13:25 – Updated: 2026-10-19 09:18
VLAI
Title
locking/lockdep: Invalidate stale class_cache entries for zapped classes
Summary
In the Linux kernel, the following vulnerability has been resolved: locking/lockdep: Invalidate stale class_cache entries for zapped classes syzbot reported a lockdep splat hitting DEBUG_LOCKS_WARN_ON(1) in hlock_class() due to an invalid class_idx: WARNING: kernel/locking/lockdep.c:238 at __lock_acquire+0x382/0x2cf0 kernel/locking/lockdep.c:5203 Workqueue: wg-crypt-wg0 wg_packet_tx_worker RIP: 0010:hlock_class kernel/locking/lockdep.c:238 [inline] RIP: 0010:check_wait_context kernel/locking/lockdep.c:4870 [inline] RIP: 0010:__lock_acquire+0x389/0x2cf0 kernel/locking/lockdep.c:5203 Call Trace: <IRQ> lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5886 _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:173 tcp_tsq_handler+0x29/0x200 net/ipv4/tcp_output.c:1291 tcp_tsq_workfn+0x384/0x410 net/ipv4/tcp_output.c:1325 ... When a lock class is zapped (e.g. during module unload or key unregistration), zap_class() clears the class's bit in lock_classes_in_use and removes it from the class hash table. However, existing lockdep_map instances embedded in data structures may still retain a pointer to the zapped class in their class_cache[] array. When __lock_acquire() subsequently runs on such a lock, it finds lock->class_cache[subclass] != NULL, skipping register_lock_class() and assigning hlock->class_idx to the index of the zapped class. When check_wait_context() or hlock_class() inspects the held_lock, it finds !test_bit(class_idx, lock_classes_in_use) and warns. Furthermore, if the zapped slot is subsequently re-allocated to an unrelated lock key, the stale class_cache entry would erroneously match the unrelated class (ABA issue). Add lock_class_cache_is_valid() to validate that the cached class is within lock_classes bounds, still allocated in lock_classes_in_use (using uninstrumented arch_test_bit() in __always_inline context so it is safe in noinstr contexts like match_held_lock()), and that class->key matches the expected subkey (taking lockdep_set_subclass() overrides into account). Also use READ_ONCE()/WRITE_ONCE() when accessing class_cache[]. If the entry is invalid or stale, fall back to register_lock_class() / look_up_lock_class().
Severity
No CVSS data available.
Assigner
Linux CNA under the mitre root
CNA scorecard D 53/100 over 6843 records in the last 180 days details
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: a0b0fd53e1e67639b303b15939b9c653dbe7a8c4 , < f8a1281ab82df5b51fd0384354d4b21daf2b7af0 (git)
Affected: a0b0fd53e1e67639b303b15939b9c653dbe7a8c4 , < 1c9d664e2e067fca69e5a41d68e23bbc66a583fe (git)
Affected: a0b0fd53e1e67639b303b15939b9c653dbe7a8c4 , < 6bc345f6d81ebe22e0f355c2a21d7e29691f9332 (git)
Affected: a0b0fd53e1e67639b303b15939b9c653dbe7a8c4 , < f63c86e9d267629758adaba18579e784ddd63c32 (git)
Affected: a0b0fd53e1e67639b303b15939b9c653dbe7a8c4 , < c7acfb04c7e2e2dea248282b21373d93296644dd (git)
Affected: a0b0fd53e1e67639b303b15939b9c653dbe7a8c4 , < baa320fbb2f9fea50f5632a307da8ce84fbef5bd (git)
Affected: a0b0fd53e1e67639b303b15939b9c653dbe7a8c4 , < 02c6be7d675b21d81f0ba3a524346850a8c0e3bf (git)
guessed Create a notification for this product.
Linux Linux Affected: 5.1
Unaffected: 0 , < 5.1 (semver)
Unaffected: 5.15.222 , ≤ 5.15.* (semver)
Unaffected: 6.1.189 , ≤ 6.1.* (semver)
Unaffected: 6.6.158 , ≤ 6.6.* (semver)
Unaffected: 6.12.111 , ≤ 6.12.* (semver)
Unaffected: 6.18.53 , ≤ 6.18.* (semver)
Unaffected: 7.2.7 , ≤ 7.2.* (semver)
Unaffected: 7.3 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "kernel/locking/lockdep.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "f8a1281ab82df5b51fd0384354d4b21daf2b7af0",
              "status": "affected",
              "version": "a0b0fd53e1e67639b303b15939b9c653dbe7a8c4",
              "versionType": "git"
            },
            {
              "lessThan": "1c9d664e2e067fca69e5a41d68e23bbc66a583fe",
              "status": "affected",
              "version": "a0b0fd53e1e67639b303b15939b9c653dbe7a8c4",
              "versionType": "git"
            },
            {
              "lessThan": "6bc345f6d81ebe22e0f355c2a21d7e29691f9332",
              "status": "affected",
              "version": "a0b0fd53e1e67639b303b15939b9c653dbe7a8c4",
              "versionType": "git"
            },
            {
              "lessThan": "f63c86e9d267629758adaba18579e784ddd63c32",
              "status": "affected",
              "version": "a0b0fd53e1e67639b303b15939b9c653dbe7a8c4",
              "versionType": "git"
            },
            {
              "lessThan": "c7acfb04c7e2e2dea248282b21373d93296644dd",
              "status": "affected",
              "version": "a0b0fd53e1e67639b303b15939b9c653dbe7a8c4",
              "versionType": "git"
            },
            {
              "lessThan": "baa320fbb2f9fea50f5632a307da8ce84fbef5bd",
              "status": "affected",
              "version": "a0b0fd53e1e67639b303b15939b9c653dbe7a8c4",
              "versionType": "git"
            },
            {
              "lessThan": "02c6be7d675b21d81f0ba3a524346850a8c0e3bf",
              "status": "affected",
              "version": "a0b0fd53e1e67639b303b15939b9c653dbe7a8c4",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "kernel/locking/lockdep.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.1"
            },
            {
              "lessThan": "5.1",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.222",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.189",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.158",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.111",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.53",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.7",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.222",
                  "versionStartIncluding": "5.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.189",
                  "versionStartIncluding": "5.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.158",
                  "versionStartIncluding": "5.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.111",
                  "versionStartIncluding": "5.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.53",
                  "versionStartIncluding": "5.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.7",
                  "versionStartIncluding": "5.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3",
                  "versionStartIncluding": "5.1",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nlocking/lockdep: Invalidate stale class_cache entries for zapped classes\n\nsyzbot reported a lockdep splat hitting DEBUG_LOCKS_WARN_ON(1) in\nhlock_class() due to an invalid class_idx:\n\n  WARNING: kernel/locking/lockdep.c:238 at __lock_acquire+0x382/0x2cf0 kernel/locking/lockdep.c:5203\n  Workqueue: wg-crypt-wg0 wg_packet_tx_worker\n  RIP: 0010:hlock_class kernel/locking/lockdep.c:238 [inline]\n  RIP: 0010:check_wait_context kernel/locking/lockdep.c:4870 [inline]\n  RIP: 0010:__lock_acquire+0x389/0x2cf0 kernel/locking/lockdep.c:5203\n  Call Trace:\n   \u003cIRQ\u003e\n   lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5886\n   _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:173\n   tcp_tsq_handler+0x29/0x200 net/ipv4/tcp_output.c:1291\n   tcp_tsq_workfn+0x384/0x410 net/ipv4/tcp_output.c:1325\n   ...\n\nWhen a lock class is zapped (e.g. during module unload or key\nunregistration), zap_class() clears the class\u0027s bit in\nlock_classes_in_use and removes it from the class hash table.\nHowever, existing lockdep_map instances embedded in data structures\nmay still retain a pointer to the zapped class in their class_cache[]\narray.\n\nWhen __lock_acquire() subsequently runs on such a lock, it finds\nlock-\u003eclass_cache[subclass] != NULL, skipping register_lock_class()\nand assigning hlock-\u003eclass_idx to the index of the zapped class. When\ncheck_wait_context() or hlock_class() inspects the held_lock, it finds\n!test_bit(class_idx, lock_classes_in_use) and warns. Furthermore, if\nthe zapped slot is subsequently re-allocated to an unrelated lock key,\nthe stale class_cache entry would erroneously match the unrelated\nclass (ABA issue).\n\nAdd lock_class_cache_is_valid() to validate that the cached class is\nwithin lock_classes bounds, still allocated in lock_classes_in_use\n(using uninstrumented arch_test_bit() in __always_inline context so it\nis safe in noinstr contexts like match_held_lock()), and that\nclass-\u003ekey matches the expected subkey (taking lockdep_set_subclass()\noverrides into account). Also use READ_ONCE()/WRITE_ONCE() when\naccessing class_cache[].  If the entry is invalid or stale, fall back\nto register_lock_class() / look_up_lock_class()."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-19T09:18:51.739Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/f8a1281ab82df5b51fd0384354d4b21daf2b7af0"
        },
        {
          "url": "https://git.kernel.org/stable/c/1c9d664e2e067fca69e5a41d68e23bbc66a583fe"
        },
        {
          "url": "https://git.kernel.org/stable/c/6bc345f6d81ebe22e0f355c2a21d7e29691f9332"
        },
        {
          "url": "https://git.kernel.org/stable/c/f63c86e9d267629758adaba18579e784ddd63c32"
        },
        {
          "url": "https://git.kernel.org/stable/c/c7acfb04c7e2e2dea248282b21373d93296644dd"
        },
        {
          "url": "https://git.kernel.org/stable/c/baa320fbb2f9fea50f5632a307da8ce84fbef5bd"
        },
        {
          "url": "https://git.kernel.org/stable/c/02c6be7d675b21d81f0ba3a524346850a8c0e3bf"
        }
      ],
      "title": "locking/lockdep: Invalidate stale class_cache entries for zapped classes",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-98398",
    "datePublished": "2026-10-14T13:25:59.676Z",
    "dateReserved": "2026-09-25T10:25:14.346Z",
    "dateUpdated": "2026-10-19T09:18:51.739Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-98398",
      "date": "2026-10-22",
      "epss": "0.00215",
      "percentile": "0.11282"
    },
    "microsoft_vex": {
      "current_release_date": "2026-10-21T18:42:05.000Z",
      "cve": "CVE-2026-98398",
      "id": "msrc_CVE-2026-98398",
      "initial_release_date": "2026-10-16T01:05:34.000Z",
      "product_status:known_not_affected": "1",
      "product_status:under_investigation": "1",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "locking/lockdep: Invalidate stale class_cache entries for zapped classes",
      "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-98398.json",
      "version": "2"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "kernel/locking/lockdep.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "f8a1281ab82df5b51fd0384354d4b21daf2b7af0",
                    "status": "affected",
                    "version": "a0b0fd53e1e67639b303b15939b9c653dbe7a8c4",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "1c9d664e2e067fca69e5a41d68e23bbc66a583fe",
                    "status": "affected",
                    "version": "a0b0fd53e1e67639b303b15939b9c653dbe7a8c4",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "6bc345f6d81ebe22e0f355c2a21d7e29691f9332",
                    "status": "affected",
                    "version": "a0b0fd53e1e67639b303b15939b9c653dbe7a8c4",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "f63c86e9d267629758adaba18579e784ddd63c32",
                    "status": "affected",
                    "version": "a0b0fd53e1e67639b303b15939b9c653dbe7a8c4",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "c7acfb04c7e2e2dea248282b21373d93296644dd",
                    "status": "affected",
                    "version": "a0b0fd53e1e67639b303b15939b9c653dbe7a8c4",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "baa320fbb2f9fea50f5632a307da8ce84fbef5bd",
                    "status": "affected",
                    "version": "a0b0fd53e1e67639b303b15939b9c653dbe7a8c4",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "02c6be7d675b21d81f0ba3a524346850a8c0e3bf",
                    "status": "affected",
                    "version": "a0b0fd53e1e67639b303b15939b9c653dbe7a8c4",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "kernel/locking/lockdep.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "5.1"
                  },
                  {
                    "lessThan": "5.1",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.15.*",
                    "status": "unaffected",
                    "version": "5.15.222",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.1.*",
                    "status": "unaffected",
                    "version": "6.1.189",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.6.*",
                    "status": "unaffected",
                    "version": "6.6.158",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.111",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.53",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.2.*",
                    "status": "unaffected",
                    "version": "7.2.7",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.3",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nlocking/lockdep: Invalidate stale class_cache entries for zapped classes\n\nsyzbot reported a lockdep splat hitting DEBUG_LOCKS_WARN_ON(1) in\nhlock_class() due to an invalid class_idx:\n\n  WARNING: kernel/locking/lockdep.c:238 at __lock_acquire+0x382/0x2cf0 kernel/locking/lockdep.c:5203\n  Workqueue: wg-crypt-wg0 wg_packet_tx_worker\n  RIP: 0010:hlock_class kernel/locking/lockdep.c:238 [inline]\n  RIP: 0010:check_wait_context kernel/locking/lockdep.c:4870 [inline]\n  RIP: 0010:__lock_acquire+0x389/0x2cf0 kernel/locking/lockdep.c:5203\n  Call Trace:\n   \u003cIRQ\u003e\n   lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5886\n   _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:173\n   tcp_tsq_handler+0x29/0x200 net/ipv4/tcp_output.c:1291\n   tcp_tsq_workfn+0x384/0x410 net/ipv4/tcp_output.c:1325\n   ...\n\nWhen a lock class is zapped (e.g. during module unload or key\nunregistration), zap_class() clears the class\u0027s bit in\nlock_classes_in_use and removes it from the class hash table.\nHowever, existing lockdep_map instances embedded in data structures\nmay still retain a pointer to the zapped class in their class_cache[]\narray.\n\nWhen __lock_acquire() subsequently runs on such a lock, it finds\nlock-\u003eclass_cache[subclass] != NULL, skipping register_lock_class()\nand assigning hlock-\u003eclass_idx to the index of the zapped class. When\ncheck_wait_context() or hlock_class() inspects the held_lock, it finds\n!test_bit(class_idx, lock_classes_in_use) and warns. Furthermore, if\nthe zapped slot is subsequently re-allocated to an unrelated lock key,\nthe stale class_cache entry would erroneously match the unrelated\nclass (ABA issue).\n\nAdd lock_class_cache_is_valid() to validate that the cached class is\nwithin lock_classes bounds, still allocated in lock_classes_in_use\n(using uninstrumented arch_test_bit() in __always_inline context so it\nis safe in noinstr contexts like match_held_lock()), and that\nclass-\u003ekey matches the expected subkey (taking lockdep_set_subclass()\noverrides into account). Also use READ_ONCE()/WRITE_ONCE() when\naccessing class_cache[].  If the entry is invalid or stale, fall back\nto register_lock_class() / look_up_lock_class()."
          }
        ],
        "id": "CVE-2026-98398",
        "lastModified": "2026-10-19T10:18:44.480",
        "metrics": {},
        "published": "2026-10-14T14:17:50.760",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/02c6be7d675b21d81f0ba3a524346850a8c0e3bf"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/1c9d664e2e067fca69e5a41d68e23bbc66a583fe"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/6bc345f6d81ebe22e0f355c2a21d7e29691f9332"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/baa320fbb2f9fea50f5632a307da8ce84fbef5bd"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/c7acfb04c7e2e2dea248282b21373d93296644dd"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/f63c86e9d267629758adaba18579e784ddd63c32"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/f8a1281ab82df5b51fd0384354d4b21daf2b7af0"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Low",
      "current_release_date": "2026-10-18T08:32:50+00:00",
      "cve": "CVE-2026-98398",
      "id": "CVE-2026-98398",
      "initial_release_date": "2026-10-14T00:00:00+00:00",
      "product_status:known_affected": "235",
      "product_status:known_not_affected": "42",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: locking/lockdep: Invalidate stale class_cache entries for zapped classes",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-98398.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "low",
      "current_release_date": "2026-10-19T23:51:59Z",
      "cve": "CVE-2026-98398",
      "id": "CVE-2026-98398",
      "initial_release_date": "2026-10-15T14:05:14Z",
      "product_status:known_affected": "258",
      "product_status:known_not_affected": "90",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-98398",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/2026/cve-2026-98398.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline

Sightings and recorded dates, grouped by day · UTC

JSON
Events included in the timeline

Loading timeline…


    Loading…

    Loading…

    Loading…

    Related by attack behaviour

    Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.