CVE-2022-50758 (GCVE-0-2022-50758)

Vulnerability from cvelistv5 – Published: 2025-12-24 13:05 – Updated: 2026-08-05 08:59
VLAI
Title
staging: vt6655: fix potential memory leak
Summary
In the Linux kernel, the following vulnerability has been resolved: staging: vt6655: fix potential memory leak In function device_init_td0_ring, memory is allocated for member td_info of priv->apTD0Rings[i], with i increasing from 0. In case of allocation failure, the memory is freed in reversed order, with i decreasing to 0. However, the case i=0 is left out and thus memory is leaked. Modify the memory freeing loop to include the case i=0.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 5341ee0adb17d12a96dc5344e0d267cd12b52135 , < e741e38aa98704fbb959650ecd270b71b2670680 (git)
Affected: 5341ee0adb17d12a96dc5344e0d267cd12b52135 , < 16a45e78a687eb6c69acc4e62b94b6508b0bfbda (git)
Affected: 5341ee0adb17d12a96dc5344e0d267cd12b52135 , < 1b3cebeca99e8e0aa4fa57faac8dbf41e967317a (git)
Affected: 5341ee0adb17d12a96dc5344e0d267cd12b52135 , < ff8551d411f12b5abc5ca929ab87643afa8a9588 (git)
Affected: 5341ee0adb17d12a96dc5344e0d267cd12b52135 , < fb5f569bcda8f87bd47d8030bfae343d757fa3ea (git)
Affected: 5341ee0adb17d12a96dc5344e0d267cd12b52135 , < cfdf139258614ef65b0f68b857ada5328fb7c0e5 (git)
Affected: 5341ee0adb17d12a96dc5344e0d267cd12b52135 , < c8ff91535880d41b49699b3829fb6151942de29e (git)
guessed Create a notification for this product.
Linux Linux Affected: 4.18
Unaffected: 0 , < 4.18 (semver)
Unaffected: 4.19.262 , ≤ 4.19.* (semver)
Unaffected: 5.4.220 , ≤ 5.4.* (semver)
Unaffected: 5.10.150 , ≤ 5.10.* (semver)
Unaffected: 5.15.75 , ≤ 5.15.* (semver)
Unaffected: 5.19.17 , ≤ 5.19.* (semver)
Unaffected: 6.0.3 , ≤ 6.0.* (semver)
Unaffected: 6.1 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/staging/vt6655/device_main.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "e741e38aa98704fbb959650ecd270b71b2670680",
              "status": "affected",
              "version": "5341ee0adb17d12a96dc5344e0d267cd12b52135",
              "versionType": "git"
            },
            {
              "lessThan": "16a45e78a687eb6c69acc4e62b94b6508b0bfbda",
              "status": "affected",
              "version": "5341ee0adb17d12a96dc5344e0d267cd12b52135",
              "versionType": "git"
            },
            {
              "lessThan": "1b3cebeca99e8e0aa4fa57faac8dbf41e967317a",
              "status": "affected",
              "version": "5341ee0adb17d12a96dc5344e0d267cd12b52135",
              "versionType": "git"
            },
            {
              "lessThan": "ff8551d411f12b5abc5ca929ab87643afa8a9588",
              "status": "affected",
              "version": "5341ee0adb17d12a96dc5344e0d267cd12b52135",
              "versionType": "git"
            },
            {
              "lessThan": "fb5f569bcda8f87bd47d8030bfae343d757fa3ea",
              "status": "affected",
              "version": "5341ee0adb17d12a96dc5344e0d267cd12b52135",
              "versionType": "git"
            },
            {
              "lessThan": "cfdf139258614ef65b0f68b857ada5328fb7c0e5",
              "status": "affected",
              "version": "5341ee0adb17d12a96dc5344e0d267cd12b52135",
              "versionType": "git"
            },
            {
              "lessThan": "c8ff91535880d41b49699b3829fb6151942de29e",
              "status": "affected",
              "version": "5341ee0adb17d12a96dc5344e0d267cd12b52135",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/staging/vt6655/device_main.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.18"
            },
            {
              "lessThan": "4.18",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.262",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.220",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.150",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.75",
              "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": "4.19.262",
                  "versionStartIncluding": "4.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.220",
                  "versionStartIncluding": "4.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.150",
                  "versionStartIncluding": "4.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.75",
                  "versionStartIncluding": "4.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.19.17",
                  "versionStartIncluding": "4.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.0.3",
                  "versionStartIncluding": "4.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1",
                  "versionStartIncluding": "4.18",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nstaging: vt6655: fix potential memory leak\n\nIn function device_init_td0_ring, memory is allocated for member\ntd_info of priv-\u003eapTD0Rings[i], with i increasing from 0. In case of\nallocation failure, the memory is freed in reversed order, with i\ndecreasing to 0. However, the case i=0 is left out and thus memory is\nleaked.\n\nModify the memory freeing loop to include the case i=0."
        }
      ],
      "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 only via the local mac80211 start path (ieee80211_open \u2192 drv_start \u2192 vnt_start \u2192 device_init_td0_ring) when bringing up the VIA VT6655 interface, not by processing Wi-Fi frames from a peer.\nAC:L - A local attacker who can start the interface can induce the kzalloc failure path through attacker-controlled memory pressure and retry bring-up until the error path hits; the buggy while (--i) cleanup then runs deterministically.\nPR:L - Interface bring-up requires CAP_NET_ADMIN, but in realistic deployments (NetworkManager/polkit seat policies, delegated net admin) an unprivileged local user can enable the wireless interface, so this is Low rather than High.\nUI:N - The attacker brings the interface up under memory pressure themselves; no separate victim action is required.\nS:U - Impact stays inside the host kernel\u2019s vt6655/mac80211 authority with no VM escape, IOMMU bypass, or other cross-boundary effect.\nC:H - On i==0 failure, while (--i) indexes apTD0Rings[-1] into the previously initialized adjacent aRD1Ring and frees live rd_info objects, then continues OOB\u2014heap corruption enabling arbitrary kernel read primitives.\nI:H - The same OOB/double-free of descriptor side objects (kfree on adjacent or garbage pointers) is exploitable for heap corruption and control-flow hijacking beyond a pure crash.\nA:H - When kzalloc fails at i=0, while (--i) decrements through invalid indices and frees adjacent/garbage objects in an effectively unbounded loop, causing kernel oops/hang even without full exploitation."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:59:44.493Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/e741e38aa98704fbb959650ecd270b71b2670680"
        },
        {
          "url": "https://git.kernel.org/stable/c/16a45e78a687eb6c69acc4e62b94b6508b0bfbda"
        },
        {
          "url": "https://git.kernel.org/stable/c/1b3cebeca99e8e0aa4fa57faac8dbf41e967317a"
        },
        {
          "url": "https://git.kernel.org/stable/c/ff8551d411f12b5abc5ca929ab87643afa8a9588"
        },
        {
          "url": "https://git.kernel.org/stable/c/fb5f569bcda8f87bd47d8030bfae343d757fa3ea"
        },
        {
          "url": "https://git.kernel.org/stable/c/cfdf139258614ef65b0f68b857ada5328fb7c0e5"
        },
        {
          "url": "https://git.kernel.org/stable/c/c8ff91535880d41b49699b3829fb6151942de29e"
        }
      ],
      "title": "staging: vt6655: fix potential memory leak",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-50758",
    "datePublished": "2025-12-24T13:05:51.159Z",
    "dateReserved": "2025-12-24T13:02:21.545Z",
    "dateUpdated": "2026-08-05T08:59:44.493Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2022-50758",
      "date": "2026-09-15",
      "epss": "0.00204",
      "percentile": "0.10616"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2022-50758\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-12-24T13:16:02.563\",\"lastModified\":\"2026-08-04T10:18:23.890\",\"vulnStatus\":\"Deferred\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nstaging: vt6655: fix potential memory leak\\n\\nIn function device_init_td0_ring, memory is allocated for member\\ntd_info of priv-\u003eapTD0Rings[i], with i increasing from 0. In case of\\nallocation failure, the memory is freed in reversed order, with i\\ndecreasing to 0. However, the case i=0 is left out and thus memory is\\nleaked.\\n\\nModify the memory freeing loop to include the case i=0.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/staging/vt6655/device_main.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5341ee0adb17d12a96dc5344e0d267cd12b52135\",\"lessThan\":\"e741e38aa98704fbb959650ecd270b71b2670680\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"5341ee0adb17d12a96dc5344e0d267cd12b52135\",\"lessThan\":\"16a45e78a687eb6c69acc4e62b94b6508b0bfbda\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"5341ee0adb17d12a96dc5344e0d267cd12b52135\",\"lessThan\":\"1b3cebeca99e8e0aa4fa57faac8dbf41e967317a\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"5341ee0adb17d12a96dc5344e0d267cd12b52135\",\"lessThan\":\"ff8551d411f12b5abc5ca929ab87643afa8a9588\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"5341ee0adb17d12a96dc5344e0d267cd12b52135\",\"lessThan\":\"fb5f569bcda8f87bd47d8030bfae343d757fa3ea\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"5341ee0adb17d12a96dc5344e0d267cd12b52135\",\"lessThan\":\"cfdf139258614ef65b0f68b857ada5328fb7c0e5\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"5341ee0adb17d12a96dc5344e0d267cd12b52135\",\"lessThan\":\"c8ff91535880d41b49699b3829fb6151942de29e\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/staging/vt6655/device_main.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"4.18\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"4.18\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"4.19.262\",\"lessThanOrEqual\":\"4.19.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.4.220\",\"lessThanOrEqual\":\"5.4.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.10.150\",\"lessThanOrEqual\":\"5.10.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.75\",\"lessThanOrEqual\":\"5.15.*\",\"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/16a45e78a687eb6c69acc4e62b94b6508b0bfbda\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/1b3cebeca99e8e0aa4fa57faac8dbf41e967317a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/c8ff91535880d41b49699b3829fb6151942de29e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/cfdf139258614ef65b0f68b857ada5328fb7c0e5\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e741e38aa98704fbb959650ecd270b71b2670680\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/fb5f569bcda8f87bd47d8030bfae343d757fa3ea\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/ff8551d411f12b5abc5ca929ab87643afa8a9588\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Important",
      "current_release_date": "2026-08-20T12:53:03+00:00",
      "cve": "CVE-2022-50758",
      "id": "CVE-2022-50758",
      "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: Kernel: Memory leak in vt6655 driver via improper memory deallocation",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2022/cve-2022-50758.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-01T01:23:44Z",
      "cve": "CVE-2022-50758",
      "id": "CVE-2022-50758",
      "initial_release_date": "2025-12-25T01:04:02Z",
      "product_status:known_affected": "354",
      "product_status:known_not_affected": "420",
      "product_status:recommended": "200",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2022-50758",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2022-50758.json",
      "version": "29"
    }
  }
}



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…