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 “scheduled” fence\n    PVR driver “done” 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 “scheduled” fence\\n    PVR driver “done” 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án 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ón, con cada objeto (o conjunto de objetos) haciendo referencia al objeto debajo de él: 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ón de las asignaciones de VM pendientes se realiza como parte de la destrucción del contexto de VM; no hay recuentos de referencia involucrados, como es el caso de todas las demás 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.

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.