cve-2024-53198
Vulnerability from cvelistv5
Published
2024-12-27 13:49
Modified
2025-01-20 06:21
Severity ?
EPSS score ?
0.05% (0.13429)
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.
   Linux Linux Version: 2.6.23
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",
                  },
               ],
            },
         ],
         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->probe(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-01-20T06:21:04.751Z",
            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-5f407fcff5a0",
         },
      },
   },
   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-01-20T06:21:04.751Z",
      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\":\"Received\",\"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->probe(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.\"}],\"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.

Security Advisory comment format.

This schema specifies the format of a comment related to a security advisory.

UUIDv4 of the comment
UUIDv4 of the Vulnerability-Lookup instance
When the comment was created originally
When the comment was last updated
Title of the comment
Description of the comment
The identifier of the vulnerability (CVE ID, GHSA-ID, PYSEC ID, etc.).



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.