CVE-2026-22989 (GCVE-0-2026-22989)

Vulnerability from cvelistv5 – Published: 2026-01-23 15:24 – Updated: 2026-05-11 21:57
VLAI
Title
nfsd: check that server is running in unlock_filesystem
Summary
In the Linux kernel, the following vulnerability has been resolved: nfsd: check that server is running in unlock_filesystem If we are trying to unlock the filesystem via an administrative interface and nfsd isn't running, it crashes the server. This happens currently because nfsd4_revoke_states() access state structures (eg., conf_id_hashtbl) that has been freed as a part of the server shutdown. [ 59.465072] Call trace: [ 59.465308] nfsd4_revoke_states+0x1b4/0x898 [nfsd] (P) [ 59.465830] write_unlock_fs+0x258/0x440 [nfsd] [ 59.466278] nfsctl_transaction_write+0xb0/0x120 [nfsd] [ 59.466780] vfs_write+0x1f0/0x938 [ 59.467088] ksys_write+0xfc/0x1f8 [ 59.467395] __arm64_sys_write+0x74/0xb8 [ 59.467746] invoke_syscall.constprop.0+0xdc/0x1e8 [ 59.468177] do_el0_svc+0x154/0x1d8 [ 59.468489] el0_svc+0x40/0xe0 [ 59.468767] el0t_64_sync_handler+0xa0/0xe8 [ 59.469138] el0t_64_sync+0x1ac/0x1b0 Ensure this can't happen by taking the nfsd_mutex and checking that the server is still up, and then holding the mutex across the call to nfsd4_revoke_states().
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 1ac3629bf012592cb0320e52a1cceb319a05ad17 , < d95499900fe52f3d461ed26b7a30bebea8f12914 (git)
Affected: 1ac3629bf012592cb0320e52a1cceb319a05ad17 , < e06c9f6c0f554148d4921c2a15bd054260a054ac (git)
Affected: 1ac3629bf012592cb0320e52a1cceb319a05ad17 , < d0424066fcd294977f310964bed6f2a487fa4515 (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.9
Unaffected: 0 , < 6.9 (semver)
Unaffected: 6.12.66 , ≤ 6.12.* (semver)
Unaffected: 6.18.6 , ≤ 6.18.* (semver)
Unaffected: 6.19 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/nfsd/nfs4state.c",
            "fs/nfsd/nfsctl.c",
            "fs/nfsd/state.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "d95499900fe52f3d461ed26b7a30bebea8f12914",
              "status": "affected",
              "version": "1ac3629bf012592cb0320e52a1cceb319a05ad17",
              "versionType": "git"
            },
            {
              "lessThan": "e06c9f6c0f554148d4921c2a15bd054260a054ac",
              "status": "affected",
              "version": "1ac3629bf012592cb0320e52a1cceb319a05ad17",
              "versionType": "git"
            },
            {
              "lessThan": "d0424066fcd294977f310964bed6f2a487fa4515",
              "status": "affected",
              "version": "1ac3629bf012592cb0320e52a1cceb319a05ad17",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/nfsd/nfs4state.c",
            "fs/nfsd/nfsctl.c",
            "fs/nfsd/state.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.9"
            },
            {
              "lessThan": "6.9",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.66",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.19",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.66",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.6",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.19",
                  "versionStartIncluding": "6.9",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnfsd: check that server is running in unlock_filesystem\n\nIf we are trying to unlock the filesystem via an administrative\ninterface and nfsd isn\u0027t running, it crashes the server. This\nhappens currently because nfsd4_revoke_states() access state\nstructures (eg., conf_id_hashtbl) that has been freed as a part\nof the server shutdown.\n\n[   59.465072] Call trace:\n[   59.465308]  nfsd4_revoke_states+0x1b4/0x898 [nfsd] (P)\n[   59.465830]  write_unlock_fs+0x258/0x440 [nfsd]\n[   59.466278]  nfsctl_transaction_write+0xb0/0x120 [nfsd]\n[   59.466780]  vfs_write+0x1f0/0x938\n[   59.467088]  ksys_write+0xfc/0x1f8\n[   59.467395]  __arm64_sys_write+0x74/0xb8\n[   59.467746]  invoke_syscall.constprop.0+0xdc/0x1e8\n[   59.468177]  do_el0_svc+0x154/0x1d8\n[   59.468489]  el0_svc+0x40/0xe0\n[   59.468767]  el0t_64_sync_handler+0xa0/0xe8\n[   59.469138]  el0t_64_sync+0x1ac/0x1b0\n\nEnsure this can\u0027t happen by taking the nfsd_mutex and checking that\nthe server is still up, and then holding the mutex across the call to\nnfsd4_revoke_states()."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-05-11T21:57:50.971Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/d95499900fe52f3d461ed26b7a30bebea8f12914"
        },
        {
          "url": "https://git.kernel.org/stable/c/e06c9f6c0f554148d4921c2a15bd054260a054ac"
        },
        {
          "url": "https://git.kernel.org/stable/c/d0424066fcd294977f310964bed6f2a487fa4515"
        }
      ],
      "title": "nfsd: check that server is running in unlock_filesystem",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-22989",
    "datePublished": "2026-01-23T15:24:10.523Z",
    "dateReserved": "2026-01-13T15:37:45.937Z",
    "dateUpdated": "2026-05-11T21:57:50.971Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-22989",
      "date": "2026-09-20",
      "epss": "0.00132",
      "percentile": "0.03165"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "fs/nfsd/nfs4state.c",
                  "fs/nfsd/nfsctl.c",
                  "fs/nfsd/state.h"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "d95499900fe52f3d461ed26b7a30bebea8f12914",
                    "status": "affected",
                    "version": "1ac3629bf012592cb0320e52a1cceb319a05ad17",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "e06c9f6c0f554148d4921c2a15bd054260a054ac",
                    "status": "affected",
                    "version": "1ac3629bf012592cb0320e52a1cceb319a05ad17",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "d0424066fcd294977f310964bed6f2a487fa4515",
                    "status": "affected",
                    "version": "1ac3629bf012592cb0320e52a1cceb319a05ad17",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "fs/nfsd/nfs4state.c",
                  "fs/nfsd/nfsctl.c",
                  "fs/nfsd/state.h"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.9"
                  },
                  {
                    "lessThan": "6.9",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.66",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.6",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "6.19",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "configurations": [
          {
            "nodes": [
              {
                "cpeMatch": [
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "49616A55-2473-4303-ADBB-059630B30A6F",
                    "versionEndExcluding": "6.12.66",
                    "versionStartIncluding": "6.9",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "879529BC-5B4C-4EBE-BF1D-1A31404A8B2E",
                    "versionEndExcluding": "6.18.6",
                    "versionStartIncluding": "6.13",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc1:*:*:*:*:*:*",
                    "matchCriteriaId": "17B67AA7-40D6-4AFA-8459-F200F3D7CFD1",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc2:*:*:*:*:*:*",
                    "matchCriteriaId": "C47E4CC9-C826-4FA9-B014-7FE3D9B318B2",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc3:*:*:*:*:*:*",
                    "matchCriteriaId": "F71D92C0-C023-48BD-B3B6-70B638EEE298",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:6.19:rc4:*:*:*:*:*:*",
                    "matchCriteriaId": "13580667-0A98-40CC-B29F-D12790B91BDB",
                    "vulnerable": true
                  }
                ],
                "negate": false,
                "operator": "OR"
              }
            ]
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnfsd: check that server is running in unlock_filesystem\n\nIf we are trying to unlock the filesystem via an administrative\ninterface and nfsd isn\u0027t running, it crashes the server. This\nhappens currently because nfsd4_revoke_states() access state\nstructures (eg., conf_id_hashtbl) that has been freed as a part\nof the server shutdown.\n\n[   59.465072] Call trace:\n[   59.465308]  nfsd4_revoke_states+0x1b4/0x898 [nfsd] (P)\n[   59.465830]  write_unlock_fs+0x258/0x440 [nfsd]\n[   59.466278]  nfsctl_transaction_write+0xb0/0x120 [nfsd]\n[   59.466780]  vfs_write+0x1f0/0x938\n[   59.467088]  ksys_write+0xfc/0x1f8\n[   59.467395]  __arm64_sys_write+0x74/0xb8\n[   59.467746]  invoke_syscall.constprop.0+0xdc/0x1e8\n[   59.468177]  do_el0_svc+0x154/0x1d8\n[   59.468489]  el0_svc+0x40/0xe0\n[   59.468767]  el0t_64_sync_handler+0xa0/0xe8\n[   59.469138]  el0t_64_sync+0x1ac/0x1b0\n\nEnsure this can\u0027t happen by taking the nfsd_mutex and checking that\nthe server is still up, and then holding the mutex across the call to\nnfsd4_revoke_states()."
          },
          {
            "lang": "es",
            "value": "Se ha resuelto la siguiente vulnerabilidad en el kernel de Linux:\n\nnfsd: comprobar que el servidor est\u00e1 en ejecuci\u00f3n en unlock_filesystem\n\nSi estamos intentando desbloquear el sistema de archivos a trav\u00e9s de una interfaz de administraci\u00f3n y nfsd no est\u00e1 en ejecuci\u00f3n, se provoca la ca\u00edda del servidor. Esto ocurre actualmente porque nfsd4_revoke_states() accede a estructuras de estado (por ejemplo, conf_id_hashtbl) que han sido liberadas como parte del apagado del servidor.\n\n[   59.465072] Traza de llamada:\n[   59.465308]  nfsd4_revoke_states+0x1b4/0x898 [nfsd] (P)\n[   59.465830]  write_unlock_fs+0x258/0x440 [nfsd]\n[   59.466278]  nfsctl_transaction_write+0xb0/0x120 [nfsd]\n[   59.466780]  vfs_write+0x1f0/0x938\n[   59.467088]  ksys_write+0xfc/0x1f8\n[   59.467395]  __arm64_sys_write+0x74/0xb8\n[   59.467746]  invoke_syscall.constprop.0+0xdc/0x1e8\n[   59.468177]  do_el0_svc+0x154/0x1d8\n[   59.468489]  el0_svc+0x40/0xe0\n[   59.468767]  el0t_64_sync_handler+0xa0/0xe8\n[   59.469138]  el0t_64_sync+0x1ac/0x1b0\n\nAsegurar que esto no pueda ocurrir tomando el nfsd_mutex y comprobando que el servidor sigue activo, y luego manteniendo el mutex durante la llamada a nfsd4_revoke_states()."
          }
        ],
        "id": "CVE-2026-22989",
        "lastModified": "2026-06-17T10:20:39.680",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 5.5,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 3.6,
              "source": "nvd@nist.gov",
              "type": "Primary"
            }
          ]
        },
        "published": "2026-01-23T16:15:54.970",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/d0424066fcd294977f310964bed6f2a487fa4515"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/d95499900fe52f3d461ed26b7a30bebea8f12914"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/e06c9f6c0f554148d4921c2a15bd054260a054ac"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Analyzed",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "NVD-CWE-noinfo"
              }
            ],
            "source": "nvd@nist.gov",
            "type": "Primary"
          }
        ]
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-06-28T07:17:56+00:00",
      "cve": "CVE-2026-22989",
      "id": "CVE-2026-22989",
      "initial_release_date": "2026-01-23T00:00:00+00:00",
      "product_status:known_affected": "198",
      "product_status:known_not_affected": "76",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: nfsd: check that server is running in unlock_filesystem",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-22989.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-07-15T05:34:18Z",
      "cve": "CVE-2026-22989",
      "id": "CVE-2026-22989",
      "initial_release_date": "2026-01-28T00:25:05Z",
      "product_status:first_fixed": "2",
      "product_status:known_affected": "569",
      "product_status:known_not_affected": "79",
      "product_status:recommended": "244",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-22989",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-22989.json",
      "version": "18"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

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.

Loading…

Detection rules are retrieved from Rulezet.

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.


Loading…