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

CVE-2022-50059 (GCVE-0-2022-50059)

Vulnerability from cvelistv5 – Published: 2025-06-18 11:02 – Updated: 2026-08-05 08:57
VLAI
Title
ceph: don't leak snap_rwsem in handle_cap_grant
Summary
In the Linux kernel, the following vulnerability has been resolved: ceph: don't leak snap_rwsem in handle_cap_grant When handle_cap_grant is called on an IMPORT op, then the snap_rwsem is held and the function is expected to release it before returning. It currently fails to do that in all cases which could lead to a deadlock.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 6f05b30ea063a2a05dda47a4105a69267ae5270f , < aee18421bda6bf12a7cba6a3d7751c0e1cfd0094 (git)
Affected: 6f05b30ea063a2a05dda47a4105a69267ae5270f , < f546faa216d0f53a42ca73ba1fd8c48765b22d77 (git)
Affected: 6f05b30ea063a2a05dda47a4105a69267ae5270f , < a090cc69699ec2d11b5e34cee8c61f0d4b0068cb (git)
Affected: 6f05b30ea063a2a05dda47a4105a69267ae5270f , < 58dd4385577ed7969b80cdc9e2a31575aba6c712 (git)
guessed Create a notification for this product.
Linux Linux Affected: 5.8
Unaffected: 0 , < 5.8 (semver)
Unaffected: 5.10.138 , ≤ 5.10.* (semver)
Unaffected: 5.15.63 , ≤ 5.15.* (semver)
Unaffected: 5.19.4 , ≤ 5.19.* (semver)
Unaffected: 6.0 , ≤ * (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/caps.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "aee18421bda6bf12a7cba6a3d7751c0e1cfd0094",
              "status": "affected",
              "version": "6f05b30ea063a2a05dda47a4105a69267ae5270f",
              "versionType": "git"
            },
            {
              "lessThan": "f546faa216d0f53a42ca73ba1fd8c48765b22d77",
              "status": "affected",
              "version": "6f05b30ea063a2a05dda47a4105a69267ae5270f",
              "versionType": "git"
            },
            {
              "lessThan": "a090cc69699ec2d11b5e34cee8c61f0d4b0068cb",
              "status": "affected",
              "version": "6f05b30ea063a2a05dda47a4105a69267ae5270f",
              "versionType": "git"
            },
            {
              "lessThan": "58dd4385577ed7969b80cdc9e2a31575aba6c712",
              "status": "affected",
              "version": "6f05b30ea063a2a05dda47a4105a69267ae5270f",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/ceph/caps.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.8"
            },
            {
              "lessThan": "5.8",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.138",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.63",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.19.*",
              "status": "unaffected",
              "version": "5.19.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.0",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.138",
                  "versionStartIncluding": "5.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.63",
                  "versionStartIncluding": "5.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.19.4",
                  "versionStartIncluding": "5.8",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.0",
                  "versionStartIncluding": "5.8",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nceph: don\u0027t leak snap_rwsem in handle_cap_grant\n\nWhen handle_cap_grant is called on an IMPORT op, then the snap_rwsem is\nheld and the function is expected to release it before returning. It\ncurrently fails to do that in all cases which could lead to a deadlock."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.5,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - The bug is reached while processing CEPH_MSG_CLIENT_CAPS IMPORT messages from a remote Ceph MDS over the TCP messenger into ceph_handle_caps()\u2192handle_cap_grant(); a malicious, compromised, or on-path MDS triggers it purely with network traffic.\nAC:L - A malicious MDS fully controls IMPORT content and migrate-seq values, and can force the i_auth_cap!=cap state that skips up_read(\u0026snap_rwsem); the condition is attacker-driven and reliably repeatable with no uncontrolled race or layout dependency.\nPR:N - Exploitation requires no privileges on the victim client\u2014the attacking MDS peer needs no local account or capability, matching other CephFS client MDS-message bugs scored PR:N.\nUI:N - With CephFS already mounted (normal deployment state), the MDS can unilaterally emit cap IMPORT messages during migration/reconnect without any further victim action at exploit time.\nS:U - The leaked snap_rwsem and resulting hang stay inside the client kernel/CephFS mount authority; there is no VM escape, IOMMU bypass, or other cross-boundary effect.\nC:N - The defect is a missing up_read on snap_rwsem that only deadlocks waiters; it does not corrupt memory, disclose kernel contents, or provide a read primitive.\nI:N - There is no write primitive, type confusion, or other integrity-affecting corruption\u2014only a lock leak that blocks subsequent snap_rwsem writers with no attacker-controlled data modification.\nA:H - Leaking the snap_rwsem read lock causes subsequent down_write paths (snap updates, IMPORT with snaptrace, realm work) and CephFS operations to hang indefinitely, a full denial of service requiring reboot."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:57:15.234Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/aee18421bda6bf12a7cba6a3d7751c0e1cfd0094"
        },
        {
          "url": "https://git.kernel.org/stable/c/f546faa216d0f53a42ca73ba1fd8c48765b22d77"
        },
        {
          "url": "https://git.kernel.org/stable/c/a090cc69699ec2d11b5e34cee8c61f0d4b0068cb"
        },
        {
          "url": "https://git.kernel.org/stable/c/58dd4385577ed7969b80cdc9e2a31575aba6c712"
        }
      ],
      "title": "ceph: don\u0027t leak snap_rwsem in handle_cap_grant",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-50059",
    "datePublished": "2025-06-18T11:02:07.945Z",
    "dateReserved": "2025-06-18T10:57:27.404Z",
    "dateUpdated": "2026-08-05T08:57:15.234Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2022-50059",
      "date": "2026-09-17",
      "epss": "0.00402",
      "percentile": "0.34133"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2022-50059\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-06-18T11:15:34.600\",\"lastModified\":\"2026-08-04T10:18:03.830\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nceph: don\u0027t leak snap_rwsem in handle_cap_grant\\n\\nWhen handle_cap_grant is called on an IMPORT op, then the snap_rwsem is\\nheld and the function is expected to release it before returning. It\\ncurrently fails to do that in all cases which could lead to a deadlock.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ceph: no filtrar snap_rwsem en handle_cap_grant. Cuando se llama a handle_cap_grant en una operaci\u00f3n IMPORT, se retiene el snap_rwsem y se espera que la funci\u00f3n lo libere antes de regresar. Actualmente, esto no ocurre en todos los casos, lo que podr\u00eda provocar un bloqueo.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"fs/ceph/caps.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6f05b30ea063a2a05dda47a4105a69267ae5270f\",\"lessThan\":\"aee18421bda6bf12a7cba6a3d7751c0e1cfd0094\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"6f05b30ea063a2a05dda47a4105a69267ae5270f\",\"lessThan\":\"f546faa216d0f53a42ca73ba1fd8c48765b22d77\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"6f05b30ea063a2a05dda47a4105a69267ae5270f\",\"lessThan\":\"a090cc69699ec2d11b5e34cee8c61f0d4b0068cb\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"6f05b30ea063a2a05dda47a4105a69267ae5270f\",\"lessThan\":\"58dd4385577ed7969b80cdc9e2a31575aba6c712\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"fs/ceph/caps.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.8\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.8\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.10.138\",\"lessThanOrEqual\":\"5.10.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.63\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.19.4\",\"lessThanOrEqual\":\"5.19.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.0\",\"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:N/I:N/A:H\",\"baseScore\":7.5,\"baseSeverity\":\"HIGH\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":3.9,\"impactScore\":3.6},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"NVD-CWE-Other\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.8\",\"versionEndExcluding\":\"5.10.138\",\"matchCriteriaId\":\"A9095C2E-4860-4A3A-AB6D-D9B21ACC6A71\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.11\",\"versionEndExcluding\":\"5.15.63\",\"matchCriteriaId\":\"D5744A03-DA40-4A78-9063-13179361DC6D\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.16\",\"versionEndExcluding\":\"5.19.4\",\"matchCriteriaId\":\"0E669300-DA42-4ACD-86D8-68BE5F29FB88\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/58dd4385577ed7969b80cdc9e2a31575aba6c712\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/a090cc69699ec2d11b5e34cee8c61f0d4b0068cb\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/aee18421bda6bf12a7cba6a3d7751c0e1cfd0094\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/f546faa216d0f53a42ca73ba1fd8c48765b22d77\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-19T11:06:34+00:00",
      "cve": "CVE-2022-50059",
      "id": "CVE-2022-50059",
      "initial_release_date": "2022-01-01T00:00:00+00:00",
      "product_status:known_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: ceph: don\u0027t leak snap_rwsem in handle_cap_grant",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2022/cve-2022-50059.json",
      "version": "3"
    }
  }
}



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…