cve-2024-53084
Vulnerability from cvelistv5
Published
2024-11-19 17:45
Modified
2024-12-19 09:38
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: drm/imagination: Break an object reference loop When remaining resources are being cleaned up on driver close, outstanding VM mappings may result in resources being leaked, due to an object reference loop, as shown below, with each object (or set of objects) referencing the object below it: PVR GEM Object GPU scheduler "finished" fence GPU scheduler “scheduled” fence PVR driver “done” fence PVR Context PVR VM Context PVR VM Mappings PVR GEM Object The reference that the PVR VM Context has on the VM mappings is a soft one, in the sense that the freeing of outstanding VM mappings is done as part of VM context destruction; no reference counts are involved, as is the case for all the other references in the loop. To break the reference loop during cleanup, free the outstanding VM mappings before destroying the PVR Context associated with the VM context.
Impacted products
Vendor Product Version
Linux Linux Version: 4babef0708656c54e67ee0ee3994ee98898f51d1
Version: 4babef0708656c54e67ee0ee3994ee98898f51d1
Create a notification for this product.
   Linux Linux Version: 6.8
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/imagination/pvr_context.c",
            "drivers/gpu/drm/imagination/pvr_context.h",
            "drivers/gpu/drm/imagination/pvr_vm.c",
            "drivers/gpu/drm/imagination/pvr_vm.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "cb86db12b290ed07d05df00d99fa150bb123e80e",
              "status": "affected",
              "version": "4babef0708656c54e67ee0ee3994ee98898f51d1",
              "versionType": "git"
            },
            {
              "lessThan": "b04ce1e718bd55302b52d05d6873e233cb3ec7a1",
              "status": "affected",
              "version": "4babef0708656c54e67ee0ee3994ee98898f51d1",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/imagination/pvr_context.c",
            "drivers/gpu/drm/imagination/pvr_context.h",
            "drivers/gpu/drm/imagination/pvr_vm.c",
            "drivers/gpu/drm/imagination/pvr_vm.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.8"
            },
            {
              "lessThan": "6.8",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.11.*",
              "status": "unaffected",
              "version": "6.11.8",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.12",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/imagination: Break an object reference loop\n\nWhen remaining resources are being cleaned up on driver close,\noutstanding VM mappings may result in resources being leaked, due\nto an object reference loop, as shown below, with each object (or\nset of objects) referencing the object below it:\n\n    PVR GEM Object\n    GPU scheduler \"finished\" fence\n    GPU scheduler \u201cscheduled\u201d fence\n    PVR driver \u201cdone\u201d fence\n    PVR Context\n    PVR VM Context\n    PVR VM Mappings\n    PVR GEM Object\n\nThe reference that the PVR VM Context has on the VM mappings is a\nsoft one, in the sense that the freeing of outstanding VM mappings\nis done as part of VM context destruction; no reference counts are\ninvolved, as is the case for all the other references in the loop.\n\nTo break the reference loop during cleanup, free the outstanding\nVM mappings before destroying the PVR Context associated with the\nVM context."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2024-12-19T09:38:48.575Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/cb86db12b290ed07d05df00d99fa150bb123e80e"
        },
        {
          "url": "https://git.kernel.org/stable/c/b04ce1e718bd55302b52d05d6873e233cb3ec7a1"
        }
      ],
      "title": "drm/imagination: Break an object reference loop",
      "x_generator": {
        "engine": "bippy-5f407fcff5a0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-53084",
    "datePublished": "2024-11-19T17:45:13.530Z",
    "dateReserved": "2024-11-19T17:17:24.979Z",
    "dateUpdated": "2024-12-19T09:38:48.575Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-53084\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-11-19T18:15:27.680\",\"lastModified\":\"2024-11-27T19:41:38.923\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ndrm/imagination: Break an object reference loop\\n\\nWhen remaining resources are being cleaned up on driver close,\\noutstanding VM mappings may result in resources being leaked, due\\nto an object reference loop, as shown below, with each object (or\\nset of objects) referencing the object below it:\\n\\n    PVR GEM Object\\n    GPU scheduler \\\"finished\\\" fence\\n    GPU scheduler \u201cscheduled\u201d fence\\n    PVR driver \u201cdone\u201d fence\\n    PVR Context\\n    PVR VM Context\\n    PVR VM Mappings\\n    PVR GEM Object\\n\\nThe reference that the PVR VM Context has on the VM mappings is a\\nsoft one, in the sense that the freeing of outstanding VM mappings\\nis done as part of VM context destruction; no reference counts are\\ninvolved, as is the case for all the other references in the loop.\\n\\nTo break the reference loop during cleanup, free the outstanding\\nVM mappings before destroying the PVR Context associated with the\\nVM context.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/imagination: Romper un bucle de referencia de objeto Cuando se est\u00e1n limpiando los recursos restantes al cerrar el controlador, las asignaciones de VM pendientes pueden provocar una fuga de recursos, debido a un bucle de referencia de objeto, como se muestra a continuaci\u00f3n, con cada objeto (o conjunto de objetos) haciendo referencia al objeto debajo de \u00e9l: Objeto PVR GEM Cerca \\\"terminada\\\" del programador de GPU Cerca \\\"programada\\\" del programador de GPU Cerca \\\"terminada\\\" del controlador PVR Contexto PVR Contexto de VM PVR Asignaciones de VM PVR Objeto PVR GEM La referencia que tiene el Contexto de VM PVR en las asignaciones de VM es suave, en el sentido de que la liberaci\u00f3n de las asignaciones de VM pendientes se realiza como parte de la destrucci\u00f3n del contexto de VM; no hay recuentos de referencia involucrados, como es el caso de todas las dem\u00e1s referencias en el bucle. Para romper el bucle de referencia durante la limpieza, libere las asignaciones de VM pendientes antes de destruir el Contexto PVR asociado con el contexto de VM.\"}],\"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\":\"CWE-401\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionEndExcluding\":\"6.11.8\",\"matchCriteriaId\":\"B2930DF6-DC9B-46AF-BE00-B21D77D913F6\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.12:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"7F361E1D-580F-4A2D-A509-7615F73167A1\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.12:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"925478D0-3E3D-4E6F-ACD5-09F28D5DF82C\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.12:rc3:*:*:*:*:*:*\",\"matchCriteriaId\":\"3C95E234-D335-4B6C-96BF-E2CEBD8654ED\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.12:rc4:*:*:*:*:*:*\",\"matchCriteriaId\":\"E0F717D8-3014-4F84-8086-0124B2111379\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.12:rc5:*:*:*:*:*:*\",\"matchCriteriaId\":\"24DBE6C7-2AAE-4818-AED2-E131F153D2FA\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.12:rc6:*:*:*:*:*:*\",\"matchCriteriaId\":\"24B88717-53F5-42AA-9B72-14C707639E3F\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/b04ce1e718bd55302b52d05d6873e233cb3ec7a1\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/cb86db12b290ed07d05df00d99fa150bb123e80e\",\"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.
  • 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.