CVE-2022-50785 (GCVE-0-2022-50785)

Vulnerability from cvelistv5 – Published: 2025-12-30 12:03 – Updated: 2026-08-05 08:59
VLAI
Title
fsi: occ: Prevent use after free
Summary
In the Linux kernel, the following vulnerability has been resolved: fsi: occ: Prevent use after free Use get_device and put_device in the open and close functions to make sure the device doesn't get freed while a file descriptor is open. Also, lock around the freeing of the device buffer and check the buffer before using it in the submit function.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 008d3825a805557464c5e75f9eb806a3aa2f5e6d , < 1d5ad0a874ddfcee9f932f54b1d34cbe8b9ddcfe (git)
Affected: 008d3825a805557464c5e75f9eb806a3aa2f5e6d , < 3593e8efc9f0dac6be70bd5c964eadaa86bf2713 (git)
Affected: 008d3825a805557464c5e75f9eb806a3aa2f5e6d , < d3e1e24604031b0d83b6c2d38f54eeea265cfcc0 (git)
Create a notification for this product.
Linux Linux Affected: 5.16
Unaffected: 0 , < 5.16 (semver)
Unaffected: 5.19.17 , ≤ 5.19.* (semver)
Unaffected: 6.0.3 , ≤ 6.0.* (semver)
Unaffected: 6.1 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/fsi/fsi-occ.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "1d5ad0a874ddfcee9f932f54b1d34cbe8b9ddcfe",
              "status": "affected",
              "version": "008d3825a805557464c5e75f9eb806a3aa2f5e6d",
              "versionType": "git"
            },
            {
              "lessThan": "3593e8efc9f0dac6be70bd5c964eadaa86bf2713",
              "status": "affected",
              "version": "008d3825a805557464c5e75f9eb806a3aa2f5e6d",
              "versionType": "git"
            },
            {
              "lessThan": "d3e1e24604031b0d83b6c2d38f54eeea265cfcc0",
              "status": "affected",
              "version": "008d3825a805557464c5e75f9eb806a3aa2f5e6d",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/fsi/fsi-occ.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.16"
            },
            {
              "lessThan": "5.16",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.19.*",
              "status": "unaffected",
              "version": "5.19.17",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.0.*",
              "status": "unaffected",
              "version": "6.0.3",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.19.17",
                  "versionStartIncluding": "5.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.0.3",
                  "versionStartIncluding": "5.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1",
                  "versionStartIncluding": "5.16",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nfsi: occ: Prevent use after free\n\nUse get_device and put_device in the open and close functions to\nmake sure the device doesn\u0027t get freed while a file descriptor is\nopen.\nAlso, lock around the freeing of the device buffer and check the\nbuffer before using it in the submit function."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The bug is reached by opening/writing the local /dev/occN miscdevice or by reading OCC hwmon sysfs attributes that call fsi_occ_submit(); it is not reachable from network packet processing.\nAC:L - An attacker can continuously drive fsi_occ_submit via hwmon reads or /dev/occ I/O while inducing OCC/FSI teardown (host power-cycle or FSI rescan on OpenBMC), so both sides of the remove-vs-submit race are attacker-controlled.\nPR:L - OCC hwmon sensor attributes are mode 0444, so any local user can invoke the vulnerable fsi_occ_submit path; OpenBMC deployments also commonly grant /dev/occ to non-root service/operator accounts without requiring real root.\nUI:N - The attacker directly performs the device I/O and teardown sequence; no separate victim action is required.\nS:U - This is a same-host kernel heap use-after-free within the BMC kernel\u0027s security authority and does not cross a VM, IOMMU, or sandbox boundary.\nC:H - occ_remove kvfree()s the shared ~8KB occ-\u003ebuffer while submit still uses it, yielding a reclaimable use-after-free that enables arbitrary kernel memory disclosure.\nI:H - The same buffer/device UAF is exploitable for heap corruption and control-flow hijacking via reclaim of the freed kvmalloc object or the freed struct occ.\nA:H - Use-after-free of occ-\u003ebuffer or the occ device object reliably causes kernel oops/panic even when not fully exploited for code execution."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:59:46.661Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/1d5ad0a874ddfcee9f932f54b1d34cbe8b9ddcfe"
        },
        {
          "url": "https://git.kernel.org/stable/c/3593e8efc9f0dac6be70bd5c964eadaa86bf2713"
        },
        {
          "url": "https://git.kernel.org/stable/c/d3e1e24604031b0d83b6c2d38f54eeea265cfcc0"
        }
      ],
      "title": "fsi: occ: Prevent use after free",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-50785",
    "datePublished": "2025-12-30T12:03:22.224Z",
    "dateReserved": "2025-12-24T13:02:21.548Z",
    "dateUpdated": "2026-08-05T08:59:46.661Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2022-50785",
      "date": "2026-08-06",
      "epss": "0.0012",
      "percentile": "0.02134"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2022-50785\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-12-30T12:15:44.143\",\"lastModified\":\"2026-08-04T10:18:24.200\",\"vulnStatus\":\"Deferred\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nfsi: occ: Prevent use after free\\n\\nUse get_device and put_device in the open and close functions to\\nmake sure the device doesn\u0027t get freed while a file descriptor is\\nopen.\\nAlso, lock around the freeing of the device buffer and check the\\nbuffer before using it in the submit function.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/fsi/fsi-occ.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"008d3825a805557464c5e75f9eb806a3aa2f5e6d\",\"lessThan\":\"1d5ad0a874ddfcee9f932f54b1d34cbe8b9ddcfe\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"008d3825a805557464c5e75f9eb806a3aa2f5e6d\",\"lessThan\":\"3593e8efc9f0dac6be70bd5c964eadaa86bf2713\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"008d3825a805557464c5e75f9eb806a3aa2f5e6d\",\"lessThan\":\"d3e1e24604031b0d83b6c2d38f54eeea265cfcc0\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/fsi/fsi-occ.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.16\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.16\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.19.17\",\"lessThanOrEqual\":\"5.19.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.0.3\",\"lessThanOrEqual\":\"6.0.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1\",\"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:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/1d5ad0a874ddfcee9f932f54b1d34cbe8b9ddcfe\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/3593e8efc9f0dac6be70bd5c964eadaa86bf2713\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/d3e1e24604031b0d83b6c2d38f54eeea265cfcc0\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "None",
      "current_release_date": "2026-06-30T10:28:18+00:00",
      "cve": "CVE-2022-50785",
      "id": "CVE-2022-50785",
      "initial_release_date": "2022-01-01T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: fsi: occ: Prevent use after free",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2022/cve-2022-50785.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-07-25T17:04:45Z",
      "cve": "CVE-2022-50785",
      "id": "CVE-2022-50785",
      "initial_release_date": "2025-12-31T00:32:19Z",
      "product_status:known_not_affected": "453",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2022-50785",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2022-50785.json",
      "version": "11"
    }
  }
}



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…

Loading…