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

CVE-2026-89990 (GCVE-0-2026-89990)

Vulnerability from cvelistv5 – Published: 2026-09-16 10:33 – Updated: 2026-09-16 14:41
VLAI
Title
ceph: lock mutex in ceph_mds_check_access()
Summary
In the Linux kernel, the following vulnerability has been resolved: ceph: lock mutex in ceph_mds_check_access() MDS session OPEN handling replaces mdsc->s_cap_auths under mdsc->mutex, freeing the previous array and its strings. ceph_mds_check_access() traverses this array without holding the mutex. A concurrent session reopen can therefore free the array while it is being inspected, resulting in a use-after-free like this: Unable to handle kernel paging request at virtual address 003aaad64b2c8bb9 [...] Internal error: Oops: 0000000096000004 [#1] SMP Modules linked in: CPU: 56 UID: 2953037534 PID: 1253231 Comm: php-cgi8.4 Not tainted 6.18.45-i2-ampere #1146 NONE [..] pc : ceph_mds_check_access+0xd4/0x550 lr : ceph_mds_check_access+0xc8/0x550 [...] Call trace: ceph_mds_check_access+0xd4/0x550 (P) ceph_atomic_open+0x138/0xbe8 path_openat+0xa24/0xfa8 do_filp_open+0x94/0x158 do_sys_openat2+0x88/0xf8
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 596afb0b8933ba6ed7227adcc538db26feb25c74 , < 729c1ff670ece6f3d4b1738365a0b2f90d487523 (git)
Affected: 596afb0b8933ba6ed7227adcc538db26feb25c74 , < ca5bfea2045ef2eb3305cf2a9d8da549b76c37d3 (git)
Affected: 596afb0b8933ba6ed7227adcc538db26feb25c74 , < df1a97d5313fccadb08390306d49b194fb027392 (git)
Affected: 596afb0b8933ba6ed7227adcc538db26feb25c74 , < a61c6ae1dae2611082b831b4aaa780878099c012 (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.10
Unaffected: 0 , < 6.10 (semver)
Unaffected: 6.12.110 , ≤ 6.12.* (semver)
Unaffected: 6.18.51 , ≤ 6.18.* (semver)
Unaffected: 7.2.5 , ≤ 7.2.* (semver)
Unaffected: 7.3-rc2 , ≤ * (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/ceph/mds_client.c",
            "fs/ceph/mds_client.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "729c1ff670ece6f3d4b1738365a0b2f90d487523",
              "status": "affected",
              "version": "596afb0b8933ba6ed7227adcc538db26feb25c74",
              "versionType": "git"
            },
            {
              "lessThan": "ca5bfea2045ef2eb3305cf2a9d8da549b76c37d3",
              "status": "affected",
              "version": "596afb0b8933ba6ed7227adcc538db26feb25c74",
              "versionType": "git"
            },
            {
              "lessThan": "df1a97d5313fccadb08390306d49b194fb027392",
              "status": "affected",
              "version": "596afb0b8933ba6ed7227adcc538db26feb25c74",
              "versionType": "git"
            },
            {
              "lessThan": "a61c6ae1dae2611082b831b4aaa780878099c012",
              "status": "affected",
              "version": "596afb0b8933ba6ed7227adcc538db26feb25c74",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/ceph/mds_client.c",
            "fs/ceph/mds_client.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.10"
            },
            {
              "lessThan": "6.10",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.110",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.51",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3-rc2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.110",
                  "versionStartIncluding": "6.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.51",
                  "versionStartIncluding": "6.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.5",
                  "versionStartIncluding": "6.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3-rc2",
                  "versionStartIncluding": "6.10",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nceph: lock mutex in ceph_mds_check_access()\n\nMDS session OPEN handling replaces mdsc-\u003es_cap_auths under\nmdsc-\u003emutex, freeing the previous array and its strings.\n\nceph_mds_check_access() traverses this array without holding the\nmutex.  A concurrent session reopen can therefore free the array while\nit is being inspected, resulting in a use-after-free like this:\n\n  Unable to handle kernel paging request at virtual address 003aaad64b2c8bb9\n  [...]\n  Internal error: Oops: 0000000096000004 [#1]  SMP\n  Modules linked in:\n  CPU: 56 UID: 2953037534 PID: 1253231 Comm: php-cgi8.4 Not tainted 6.18.45-i2-ampere #1146 NONE\n  [..]\n  pc : ceph_mds_check_access+0xd4/0x550\n  lr : ceph_mds_check_access+0xc8/0x550\n  [...]\n  Call trace:\n   ceph_mds_check_access+0xd4/0x550 (P)\n   ceph_atomic_open+0x138/0xbe8\n   path_openat+0xa24/0xfa8\n   do_filp_open+0x94/0x158\n   do_sys_openat2+0x88/0xf8"
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 9.8,
            "baseSeverity": "CRITICAL",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - handle_session() frees mdsc-\u003es_cap_auths on CEPH_SESSION_OPEN delivered over the Ceph messenger TCP session (mds_dispatch, CEPH_MSG_CLIENT_SESSION). CephFS re-exported via nfsd/ksmbd also lets a remote client reach the unlocked walker through ceph_atomic_open.\nAC:L - A malicious MDS may send CEPH_SESSION_OPEN even on an already-open session, freeing and replacing s_cap_auths under mdsc-\u003emutex at will. Concurrent open/unlink/setattr, including nfsd/ksmbd on a CephFS export, walk that array without the mutex; the MDS can retry while those operations are in flight.\nPR:N - The attacker is the remote MDS peer, or an NFS/SMB client of a CephFS re-export, and needs no Linux UID, capability, or init-namespace root on the victim host, matching other MDS-driven CephFS client CVEs such as CVE-2026-89651.\nUI:N - Once CephFS is mounted, as is standard in Rook, Kubernetes, and OpenStack, SESSION_OPEN and VFS/nfsd opens run without any further interactive victim action such as mounting media or opening a user-supplied file at exploit time.\nS:U - The use-after-free corrupts kernel heap on the CephFS client host and remains in that kernel\u0027s security authority; it is not a VM escape, IOMMU bypass, or sandbox boundary crossing.\nC:H - ceph_mds_check_access() and ceph_mds_auth_match() dereference the freed s_cap_auths array and its match.path, gids, and fs_name strings; a use-after-free of those objects enables arbitrary kernel read via heap reuse and is High per kernel UAF guidance.\nI:H - The same UAF is heap-sprayable with attacker-controlled SESSION_OPEN allocations (cap_auths_num and string lengths), yielding write and control-flow primitives; kernel guidance scores use-after-free integrity as High.\nA:H - The reported oops is a kernel paging fault in ceph_mds_check_access from ceph_atomic_open on the freed array; repeating SESSION_OPEN while the walker runs can oops or panic the client, which is High availability impact."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-16T14:41:05.472Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/729c1ff670ece6f3d4b1738365a0b2f90d487523"
        },
        {
          "url": "https://git.kernel.org/stable/c/ca5bfea2045ef2eb3305cf2a9d8da549b76c37d3"
        },
        {
          "url": "https://git.kernel.org/stable/c/df1a97d5313fccadb08390306d49b194fb027392"
        },
        {
          "url": "https://git.kernel.org/stable/c/a61c6ae1dae2611082b831b4aaa780878099c012"
        }
      ],
      "title": "ceph: lock mutex in ceph_mds_check_access()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-89990",
    "datePublished": "2026-09-16T10:33:04.371Z",
    "dateReserved": "2026-09-11T19:38:34.780Z",
    "dateUpdated": "2026-09-16T14:41:05.472Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-89990\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-09-16T11:17:10.133\",\"lastModified\":\"2026-09-16T15:18:22.800\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nceph: lock mutex in ceph_mds_check_access()\\n\\nMDS session OPEN handling replaces mdsc-\u003es_cap_auths under\\nmdsc-\u003emutex, freeing the previous array and its strings.\\n\\nceph_mds_check_access() traverses this array without holding the\\nmutex.  A concurrent session reopen can therefore free the array while\\nit is being inspected, resulting in a use-after-free like this:\\n\\n  Unable to handle kernel paging request at virtual address 003aaad64b2c8bb9\\n  [...]\\n  Internal error: Oops: 0000000096000004 [#1]  SMP\\n  Modules linked in:\\n  CPU: 56 UID: 2953037534 PID: 1253231 Comm: php-cgi8.4 Not tainted 6.18.45-i2-ampere #1146 NONE\\n  [..]\\n  pc : ceph_mds_check_access+0xd4/0x550\\n  lr : ceph_mds_check_access+0xc8/0x550\\n  [...]\\n  Call trace:\\n   ceph_mds_check_access+0xd4/0x550 (P)\\n   ceph_atomic_open+0x138/0xbe8\\n   path_openat+0xa24/0xfa8\\n   do_filp_open+0x94/0x158\\n   do_sys_openat2+0x88/0xf8\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"fs/ceph/mds_client.c\",\"fs/ceph/mds_client.h\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"596afb0b8933ba6ed7227adcc538db26feb25c74\",\"lessThan\":\"729c1ff670ece6f3d4b1738365a0b2f90d487523\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"596afb0b8933ba6ed7227adcc538db26feb25c74\",\"lessThan\":\"ca5bfea2045ef2eb3305cf2a9d8da549b76c37d3\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"596afb0b8933ba6ed7227adcc538db26feb25c74\",\"lessThan\":\"df1a97d5313fccadb08390306d49b194fb027392\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"596afb0b8933ba6ed7227adcc538db26feb25c74\",\"lessThan\":\"a61c6ae1dae2611082b831b4aaa780878099c012\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"fs/ceph/mds_client.c\",\"fs/ceph/mds_client.h\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.10\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.10\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.110\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.51\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2.5\",\"lessThanOrEqual\":\"7.2.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.3-rc2\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":9.8,\"baseSeverity\":\"CRITICAL\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":3.9,\"impactScore\":5.9}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/729c1ff670ece6f3d4b1738365a0b2f90d487523\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/a61c6ae1dae2611082b831b4aaa780878099c012\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/ca5bfea2045ef2eb3305cf2a9d8da549b76c37d3\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/df1a97d5313fccadb08390306d49b194fb027392\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}



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…