CVE-2022-49192 (GCVE-0-2022-49192)
Vulnerability from cvelistv5
Published
2025-02-26 01:55
Modified
2025-05-04 08:31
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: drivers: ethernet: cpsw: fix panic when interrupt coaleceing is set via ethtool cpsw_ethtool_begin directly returns the result of pm_runtime_get_sync when successful. pm_runtime_get_sync returns -error code on failure and 0 on successful resume but also 1 when the device is already active. So the common case for cpsw_ethtool_begin is to return 1. That leads to inconsistent calls to pm_runtime_put in the call-chain so that pm_runtime_put is called one too many times and as result leaving the cpsw dev behind suspended. The suspended cpsw dev leads to an access violation later on by different parts of the cpsw driver. Fix this by calling the return-friendly pm_runtime_resume_and_get function.
Impacted products
Vendor Product Version
Linux Linux Version: d43c65b05b848e0b2db1a6c78b02c189da3a95b5
Version: d43c65b05b848e0b2db1a6c78b02c189da3a95b5
Version: d43c65b05b848e0b2db1a6c78b02c189da3a95b5
Version: d43c65b05b848e0b2db1a6c78b02c189da3a95b5
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/ti/cpsw_ethtool.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "585dc196a08fccdcd1b7fcf473cf566b34c4b840",
              "status": "affected",
              "version": "d43c65b05b848e0b2db1a6c78b02c189da3a95b5",
              "versionType": "git"
            },
            {
              "lessThan": "459080fab12b23c0526026e5cedbf3fabb5457cc",
              "status": "affected",
              "version": "d43c65b05b848e0b2db1a6c78b02c189da3a95b5",
              "versionType": "git"
            },
            {
              "lessThan": "30ad11bff021a94aff6dab1ec9236fdfd884fbff",
              "status": "affected",
              "version": "d43c65b05b848e0b2db1a6c78b02c189da3a95b5",
              "versionType": "git"
            },
            {
              "lessThan": "2844e2434385819f674d1fb4130c308c50ba681e",
              "status": "affected",
              "version": "d43c65b05b848e0b2db1a6c78b02c189da3a95b5",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/ti/cpsw_ethtool.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.15"
            },
            {
              "lessThan": "5.15",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.33",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.16.*",
              "status": "unaffected",
              "version": "5.16.19",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.17.*",
              "status": "unaffected",
              "version": "5.17.2",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "5.18",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.33",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.16.19",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.17.2",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.18",
                  "versionStartIncluding": "5.15",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrivers: ethernet: cpsw: fix panic when interrupt coaleceing is set via ethtool\n\ncpsw_ethtool_begin directly returns the result of pm_runtime_get_sync\nwhen successful.\npm_runtime_get_sync returns -error code on failure and 0 on successful\nresume but also 1 when the device is already active. So the common case\nfor cpsw_ethtool_begin is to return 1. That leads to inconsistent calls\nto pm_runtime_put in the call-chain so that pm_runtime_put is called\none too many times and as result leaving the cpsw dev behind suspended.\n\nThe suspended cpsw dev leads to an access violation later on by\ndifferent parts of the cpsw driver.\n\nFix this by calling the return-friendly pm_runtime_resume_and_get\nfunction."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-05-04T08:31:58.822Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/585dc196a08fccdcd1b7fcf473cf566b34c4b840"
        },
        {
          "url": "https://git.kernel.org/stable/c/459080fab12b23c0526026e5cedbf3fabb5457cc"
        },
        {
          "url": "https://git.kernel.org/stable/c/30ad11bff021a94aff6dab1ec9236fdfd884fbff"
        },
        {
          "url": "https://git.kernel.org/stable/c/2844e2434385819f674d1fb4130c308c50ba681e"
        }
      ],
      "title": "drivers: ethernet: cpsw: fix panic when interrupt coaleceing is set via ethtool",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-49192",
    "datePublished": "2025-02-26T01:55:38.609Z",
    "dateReserved": "2025-02-26T01:49:39.287Z",
    "dateUpdated": "2025-05-04T08:31:58.822Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2022-49192\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-02-26T07:00:56.287\",\"lastModified\":\"2025-10-21T11:56:44.643\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ndrivers: ethernet: cpsw: fix panic when interrupt coaleceing is set via ethtool\\n\\ncpsw_ethtool_begin directly returns the result of pm_runtime_get_sync\\nwhen successful.\\npm_runtime_get_sync returns -error code on failure and 0 on successful\\nresume but also 1 when the device is already active. So the common case\\nfor cpsw_ethtool_begin is to return 1. That leads to inconsistent calls\\nto pm_runtime_put in the call-chain so that pm_runtime_put is called\\none too many times and as result leaving the cpsw dev behind suspended.\\n\\nThe suspended cpsw dev leads to an access violation later on by\\ndifferent parts of the cpsw driver.\\n\\nFix this by calling the return-friendly pm_runtime_resume_and_get\\nfunction.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drivers: ethernet: cpsw: fix panic when interrumpe coaleceing is seted via ethtool cpsw_ethtool_begin directamente devuelve el resultado de pm_runtime_get_sync cuando es exitoso. pm_runtime_get_sync devuelve el c\u00f3digo de error en caso de fallo y 0 en caso de reanudaci\u00f3n exitosa, pero tambi\u00e9n 1 cuando el dispositivo ya est\u00e1 activo. Por lo tanto, el caso com\u00fan para cpsw_ethtool_begin es devolver 1. Eso lleva a llamadas inconsistentes a pm_runtime_put en la cadena de llamadas, de modo que pm_runtime_put se llama una vez de m\u00e1s y, como resultado, deja suspendido el cpsw dev. El cpsw dev suspendido lleva a una violaci\u00f3n de acceso m\u00e1s adelante por diferentes partes del controlador cpsw. Solucione esto llamando a la funci\u00f3n pm_runtime_resume_and_get, que es amigable con los retornos.\"}],\"metrics\":{\"cvssMetricV31\":[{\"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-noinfo\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.15\",\"versionEndExcluding\":\"5.15.33\",\"matchCriteriaId\":\"A2DC15C6-2357-4732-97E0-A8A511BB24BF\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.16\",\"versionEndExcluding\":\"5.16.19\",\"matchCriteriaId\":\"20C43679-0439-405A-B97F-685BEE50613B\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.17\",\"versionEndExcluding\":\"5.17.2\",\"matchCriteriaId\":\"210C679C-CF84-44A3-8939-E629C87E54BF\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/2844e2434385819f674d1fb4130c308c50ba681e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/30ad11bff021a94aff6dab1ec9236fdfd884fbff\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/459080fab12b23c0526026e5cedbf3fabb5457cc\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/585dc196a08fccdcd1b7fcf473cf566b34c4b840\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…