CVE-2024-53198 (GCVE-0-2024-53198)
Vulnerability from cvelistv5
Published
2024-12-27 13:49
Modified
2025-05-04 09:55
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: xen: Fix the issue of resource not being properly released in xenbus_dev_probe() This patch fixes an issue in the function xenbus_dev_probe(). In the xenbus_dev_probe() function, within the if (err) branch at line 313, the program incorrectly returns err directly without releasing the resources allocated by err = drv->probe(dev, id). As the return value is non-zero, the upper layers assume the processing logic has failed. However, the probe operation was performed earlier without a corresponding remove operation. Since the probe actually allocates resources, failing to perform the remove operation could lead to problems. To fix this issue, we followed the resource release logic of the xenbus_dev_remove() function by adding a new block fail_remove before the fail_put block. After entering the branch if (err) at line 313, the function will use a goto statement to jump to the fail_remove block, ensuring that the previously acquired resources are correctly released, thus preventing the reference count leak. This bug was identified by an experimental static analysis tool developed by our team. The tool specializes in analyzing reference count operations and detecting potential issues where resources are not properly managed. In this case, the tool flagged the missing release operation as a potential problem, which led to the development of this patch.
Impacted products
Vendor Product Version
Linux Linux Version: 4bac07c993d03434ea902d3d4290d9e45944b66c
Version: 4bac07c993d03434ea902d3d4290d9e45944b66c
Version: 4bac07c993d03434ea902d3d4290d9e45944b66c
Version: 4bac07c993d03434ea902d3d4290d9e45944b66c
Version: 4bac07c993d03434ea902d3d4290d9e45944b66c
Version: 4bac07c993d03434ea902d3d4290d9e45944b66c
Version: 4bac07c993d03434ea902d3d4290d9e45944b66c
Version: 4bac07c993d03434ea902d3d4290d9e45944b66c
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/xen/xenbus/xenbus_probe.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "87106169b4ce26f85561f953d13d1fd86d99b612",
              "status": "affected",
              "version": "4bac07c993d03434ea902d3d4290d9e45944b66c",
              "versionType": "git"
            },
            {
              "lessThan": "0aa9e30b5b4af5dd504801689d6d84c584290a45",
              "status": "affected",
              "version": "4bac07c993d03434ea902d3d4290d9e45944b66c",
              "versionType": "git"
            },
            {
              "lessThan": "e8823e6ff313465910edea07581627d85e68d9fd",
              "status": "affected",
              "version": "4bac07c993d03434ea902d3d4290d9e45944b66c",
              "versionType": "git"
            },
            {
              "lessThan": "3fc0996d2fefe61219375fd650601724b8cf2d30",
              "status": "affected",
              "version": "4bac07c993d03434ea902d3d4290d9e45944b66c",
              "versionType": "git"
            },
            {
              "lessThan": "804b96f8d0a02fa10b92f28b2e042f9128ed3ffc",
              "status": "affected",
              "version": "4bac07c993d03434ea902d3d4290d9e45944b66c",
              "versionType": "git"
            },
            {
              "lessThan": "217bdce88b104269b73603b84d0ab4dd04f481bc",
              "status": "affected",
              "version": "4bac07c993d03434ea902d3d4290d9e45944b66c",
              "versionType": "git"
            },
            {
              "lessThan": "2f977a4c82d35d063f5fe198bbc501c4b1c5ea0e",
              "status": "affected",
              "version": "4bac07c993d03434ea902d3d4290d9e45944b66c",
              "versionType": "git"
            },
            {
              "lessThan": "afc545da381ba0c651b2658966ac737032676f01",
              "status": "affected",
              "version": "4bac07c993d03434ea902d3d4290d9e45944b66c",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/xen/xenbus/xenbus_probe.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.23"
            },
            {
              "lessThan": "2.6.23",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.287",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.231",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.174",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.120",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.64",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.11.*",
              "status": "unaffected",
              "version": "6.11.11",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.2",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.13",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.287",
                  "versionStartIncluding": "2.6.23",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.231",
                  "versionStartIncluding": "2.6.23",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.174",
                  "versionStartIncluding": "2.6.23",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.120",
                  "versionStartIncluding": "2.6.23",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.64",
                  "versionStartIncluding": "2.6.23",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.11.11",
                  "versionStartIncluding": "2.6.23",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.2",
                  "versionStartIncluding": "2.6.23",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.13",
                  "versionStartIncluding": "2.6.23",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nxen: Fix the issue of resource not being properly released in xenbus_dev_probe()\n\nThis patch fixes an issue in the function xenbus_dev_probe(). In the\nxenbus_dev_probe() function, within the if (err) branch at line 313, the\nprogram incorrectly returns err directly without releasing the resources\nallocated by err = drv-\u003eprobe(dev, id). As the return value is non-zero,\nthe upper layers assume the processing logic has failed. However, the probe\noperation was performed earlier without a corresponding remove operation.\nSince the probe actually allocates resources, failing to perform the remove\noperation could lead to problems.\n\nTo fix this issue, we followed the resource release logic of the\nxenbus_dev_remove() function by adding a new block fail_remove before the\nfail_put block. After entering the branch if (err) at line 313, the\nfunction will use a goto statement to jump to the fail_remove block,\nensuring that the previously acquired resources are correctly released,\nthus preventing the reference count leak.\n\nThis bug was identified by an experimental static analysis tool developed\nby our team. The tool specializes in analyzing reference count operations\nand detecting potential issues where resources are not properly managed.\nIn this case, the tool flagged the missing release operation as a\npotential problem, which led to the development of this patch."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-05-04T09:55:34.159Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/87106169b4ce26f85561f953d13d1fd86d99b612"
        },
        {
          "url": "https://git.kernel.org/stable/c/0aa9e30b5b4af5dd504801689d6d84c584290a45"
        },
        {
          "url": "https://git.kernel.org/stable/c/e8823e6ff313465910edea07581627d85e68d9fd"
        },
        {
          "url": "https://git.kernel.org/stable/c/3fc0996d2fefe61219375fd650601724b8cf2d30"
        },
        {
          "url": "https://git.kernel.org/stable/c/804b96f8d0a02fa10b92f28b2e042f9128ed3ffc"
        },
        {
          "url": "https://git.kernel.org/stable/c/217bdce88b104269b73603b84d0ab4dd04f481bc"
        },
        {
          "url": "https://git.kernel.org/stable/c/2f977a4c82d35d063f5fe198bbc501c4b1c5ea0e"
        },
        {
          "url": "https://git.kernel.org/stable/c/afc545da381ba0c651b2658966ac737032676f01"
        }
      ],
      "title": "xen: Fix the issue of resource not being properly released in xenbus_dev_probe()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-53198",
    "datePublished": "2024-12-27T13:49:40.339Z",
    "dateReserved": "2024-11-19T17:17:25.015Z",
    "dateUpdated": "2025-05-04T09:55:34.159Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-53198\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-12-27T14:15:27.497\",\"lastModified\":\"2024-12-27T14:15:27.497\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nxen: Fix the issue of resource not being properly released in xenbus_dev_probe()\\n\\nThis patch fixes an issue in the function xenbus_dev_probe(). In the\\nxenbus_dev_probe() function, within the if (err) branch at line 313, the\\nprogram incorrectly returns err directly without releasing the resources\\nallocated by err = drv-\u003eprobe(dev, id). As the return value is non-zero,\\nthe upper layers assume the processing logic has failed. However, the probe\\noperation was performed earlier without a corresponding remove operation.\\nSince the probe actually allocates resources, failing to perform the remove\\noperation could lead to problems.\\n\\nTo fix this issue, we followed the resource release logic of the\\nxenbus_dev_remove() function by adding a new block fail_remove before the\\nfail_put block. After entering the branch if (err) at line 313, the\\nfunction will use a goto statement to jump to the fail_remove block,\\nensuring that the previously acquired resources are correctly released,\\nthus preventing the reference count leak.\\n\\nThis bug was identified by an experimental static analysis tool developed\\nby our team. The tool specializes in analyzing reference count operations\\nand detecting potential issues where resources are not properly managed.\\nIn this case, the tool flagged the missing release operation as a\\npotential problem, which led to the development of this patch.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: xen: soluciona el problema de que los recursos no se liberan correctamente en xenbus_dev_probe() Este parche soluciona un problema en la funci\u00f3n xenbus_dev_probe(). En la funci\u00f3n xenbus_dev_probe(), dentro de la rama if (err) en la l\u00ednea 313, el programa devuelve incorrectamente err directamente sin liberar los recursos asignados por err = drv-\u0026gt;probe(dev, id). Como el valor de retorno no es cero, las capas superiores suponen que la l\u00f3gica de procesamiento ha fallado. Sin embargo, la operaci\u00f3n de sondeo se realiz\u00f3 antes sin una operaci\u00f3n de eliminaci\u00f3n correspondiente. Dado que el sondeo realmente asigna recursos, no realizar la operaci\u00f3n de eliminaci\u00f3n podr\u00eda provocar problemas. Para solucionar este problema, seguimos la l\u00f3gica de liberaci\u00f3n de recursos de la funci\u00f3n xenbus_dev_remove() agregando un nuevo bloque fail_remove antes del bloque fail_put. Despu\u00e9s de ingresar a la rama if (err) en la l\u00ednea 313, la funci\u00f3n usar\u00e1 una declaraci\u00f3n goto para saltar al bloque fail_remove, lo que garantiza que los recursos adquiridos previamente se liberen correctamente, evitando as\u00ed la fuga del recuento de referencias. Este error fue identificado por una herramienta de an\u00e1lisis est\u00e1tico experimental desarrollada por nuestro equipo. La herramienta se especializa en analizar operaciones de recuento de referencias y detectar posibles problemas en los que los recursos no se administran correctamente. En este caso, la herramienta marc\u00f3 la operaci\u00f3n de liberaci\u00f3n faltante como un problema potencial, lo que llev\u00f3 al desarrollo de este parche.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0aa9e30b5b4af5dd504801689d6d84c584290a45\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/217bdce88b104269b73603b84d0ab4dd04f481bc\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/2f977a4c82d35d063f5fe198bbc501c4b1c5ea0e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/3fc0996d2fefe61219375fd650601724b8cf2d30\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/804b96f8d0a02fa10b92f28b2e042f9128ed3ffc\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/87106169b4ce26f85561f953d13d1fd86d99b612\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/afc545da381ba0c651b2658966ac737032676f01\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e8823e6ff313465910edea07581627d85e68d9fd\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


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.
  • 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…