GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

GHSA-83G2-J7M2-94HX

Vulnerability from github – Published: 2026-09-11 21:31 – Updated: 2026-09-14 15:32
VLAI
Details

In the Linux kernel, the following vulnerability has been resolved:

nfsd: fix cpntf publish race in nfs4_init_cp_state

nfs4_alloc_init_cpntf_state() published the new cpntf entry into the s2s_cp_stateids IDR (with cs_type set) in one s2s_cp_lock section, then took the lock again to list_add() it onto p_stid->sc_cp_list. In the gap the entry is reachable by so_id but cp_list is still {NULL,NULL} from kzalloc. A racing OFFLOAD_CANCEL (so_id is echoed to the client as cnr_stateid, so any NFSv4.2 client can drive it) reaches manage_cpntf_state() -> _free_cpntf_state_locked() and does list_del() on the zeroed list_head, oopsing the server.

Fold the cs_type assignment and the list_add() into the same critical section as idr_alloc_cyclic(), so a concurrent lookup either misses the entry or sees a fully linked cp_list. INIT_LIST_HEAD() the entry after allocation and switch _free_cpntf_state_locked() to list_del_init() so a stale unlink is a no-op. nfs4_init_copy_state() passes NULL p_stid and skips the list_add, preserving NFS4_COPY_STID semantics.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2026-89684"
  ],
  "database_specific": {
    "cwe_ids": [],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2026-09-11T20:19:55Z",
    "severity": "HIGH"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nnfsd: fix cpntf publish race in nfs4_init_cp_state\n\nnfs4_alloc_init_cpntf_state() published the new cpntf entry into the\ns2s_cp_stateids IDR (with cs_type set) in one s2s_cp_lock section, then\ntook the lock again to list_add() it onto p_stid-\u003esc_cp_list. In the gap\nthe entry is reachable by so_id but cp_list is still {NULL,NULL} from\nkzalloc. A racing OFFLOAD_CANCEL (so_id is echoed to the client as\ncnr_stateid, so any NFSv4.2 client can drive it) reaches\nmanage_cpntf_state() -\u003e _free_cpntf_state_locked() and does list_del() on\nthe zeroed list_head, oopsing the server.\n\nFold the cs_type assignment and the list_add() into the same critical\nsection as idr_alloc_cyclic(), so a concurrent lookup either misses the\nentry or sees a fully linked cp_list. INIT_LIST_HEAD() the entry after\nallocation and switch _free_cpntf_state_locked() to list_del_init() so a\nstale unlink is a no-op. nfs4_init_copy_state() passes NULL p_stid and\nskips the list_add, preserving NFS4_COPY_STID semantics.",
  "id": "GHSA-83g2-j7m2-94hx",
  "modified": "2026-09-14T15:32:33Z",
  "published": "2026-09-11T21:31:36Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-89684"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/21d6c5957f5ca97d7352e60f55ea412beb9419f5"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/63e18fc65587fd3f7b4c6d70e96d32fc41d82ba3"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/6ac469a274e3c7d87fc46ba46d83b95009680407"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/8eeca993357a0bc35aaefebfd7462ac7b0a21d9a"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/a631a26a8777bb235eabd478bbbaf26a4db750bf"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/be3a5c1d857b0dcbc11796cea603ef25834f75b2"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/bfeac42d9074e539bacd1898dd8c14b7f5776620"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/c7270f62e7a05a2ee68aa2b74262b658a14463bd"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
      "type": "CVSS_V3"
    }
  ]
}



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…