CVE-2024-46896 (GCVE-0-2024-46896)

Vulnerability from cvelistv5 – Published: 2025-01-11 12:35 – Updated: 2026-05-11 20:38
VLAI
Title
drm/amdgpu: don't access invalid sched
Summary
In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: don't access invalid sched Since 2320c9e6a768 ("drm/sched: memset() 'job' in drm_sched_job_init()") accessing job->base.sched can produce unexpected results as the initialisation of (*job)->base.sched done in amdgpu_job_alloc is overwritten by the memset. This commit fixes an issue when a CS would fail validation and would be rejected after job->num_ibs is incremented. In this case, amdgpu_ib_free(ring->adev, ...) will be called, which would crash the machine because the ring value is bogus. To fix this, pass a NULL pointer to amdgpu_ib_free(): we can do this because the device is actually not used in this function. The next commit will remove the ring argument completely. (cherry picked from commit 2ae520cb12831d264ceb97c61f72c59d33c0dbd7)
Severity
No CVSS data available.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 166df51487f46b6e997dfeea7ca0c2a970853f07 , < 65501a4fd84ecdc0af863dbb37759242aab9f2dd (git)
Affected: 87210234e5a273ebf9c4110a6aa82b8221478daa , < da6b2c626ae73c303378ce9eaf6e3eaf16c9925a (git)
Affected: 2da108b4b5fb7ec04d7e951418ed80e97f7c35ad , < 67291d601f2b032062b1b2f60ffef1b63e10094c (git)
Affected: 2320c9e6a768d135c7b0039995182bb1a4e4fd22 , < a93b1020eb9386d7da11608477121b10079c076a (git)
Create a notification for this product.
Linux Linux Affected: 6.1.120 , < 6.1.122 (semver)
Affected: 6.6.66 , < 6.6.68 (semver)
Affected: 6.12.5 , < 6.12.7 (semver)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2025-11-03T20:39:29.043Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "url": "https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/amd/amdgpu/amdgpu_job.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "65501a4fd84ecdc0af863dbb37759242aab9f2dd",
              "status": "affected",
              "version": "166df51487f46b6e997dfeea7ca0c2a970853f07",
              "versionType": "git"
            },
            {
              "lessThan": "da6b2c626ae73c303378ce9eaf6e3eaf16c9925a",
              "status": "affected",
              "version": "87210234e5a273ebf9c4110a6aa82b8221478daa",
              "versionType": "git"
            },
            {
              "lessThan": "67291d601f2b032062b1b2f60ffef1b63e10094c",
              "status": "affected",
              "version": "2da108b4b5fb7ec04d7e951418ed80e97f7c35ad",
              "versionType": "git"
            },
            {
              "lessThan": "a93b1020eb9386d7da11608477121b10079c076a",
              "status": "affected",
              "version": "2320c9e6a768d135c7b0039995182bb1a4e4fd22",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/amd/amdgpu/amdgpu_job.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "6.1.122",
              "status": "affected",
              "version": "6.1.120",
              "versionType": "semver"
            },
            {
              "lessThan": "6.6.68",
              "status": "affected",
              "version": "6.6.66",
              "versionType": "semver"
            },
            {
              "lessThan": "6.12.7",
              "status": "affected",
              "version": "6.12.5",
              "versionType": "semver"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.122",
                  "versionStartIncluding": "6.1.120",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.68",
                  "versionStartIncluding": "6.6.66",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.7",
                  "versionStartIncluding": "6.12.5",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/amdgpu: don\u0027t access invalid sched\n\nSince 2320c9e6a768 (\"drm/sched: memset() \u0027job\u0027 in drm_sched_job_init()\")\naccessing job-\u003ebase.sched can produce unexpected results as the initialisation\nof (*job)-\u003ebase.sched done in amdgpu_job_alloc is overwritten by the\nmemset.\n\nThis commit fixes an issue when a CS would fail validation and would\nbe rejected after job-\u003enum_ibs is incremented. In this case,\namdgpu_ib_free(ring-\u003eadev, ...) will be called, which would crash the\nmachine because the ring value is bogus.\n\nTo fix this, pass a NULL pointer to amdgpu_ib_free(): we can do this\nbecause the device is actually not used in this function.\n\nThe next commit will remove the ring argument completely.\n\n(cherry picked from commit 2ae520cb12831d264ceb97c61f72c59d33c0dbd7)"
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-05-11T20:38:11.581Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/65501a4fd84ecdc0af863dbb37759242aab9f2dd"
        },
        {
          "url": "https://git.kernel.org/stable/c/da6b2c626ae73c303378ce9eaf6e3eaf16c9925a"
        },
        {
          "url": "https://git.kernel.org/stable/c/67291d601f2b032062b1b2f60ffef1b63e10094c"
        },
        {
          "url": "https://git.kernel.org/stable/c/a93b1020eb9386d7da11608477121b10079c076a"
        }
      ],
      "title": "drm/amdgpu: don\u0027t access invalid sched",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-46896",
    "datePublished": "2025-01-11T12:35:34.351Z",
    "dateReserved": "2025-01-11T12:33:33.708Z",
    "dateUpdated": "2026-05-11T20:38:11.581Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2024-46896",
      "date": "2026-05-28",
      "epss": "0.0001",
      "percentile": "0.01089"
    },
    "fkie_nvd": {
      "descriptions": "[{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\ndrm/amdgpu: don\u0027t access invalid sched\\n\\nSince 2320c9e6a768 (\\\"drm/sched: memset() \u0027job\u0027 in drm_sched_job_init()\\\")\\naccessing job-\u003ebase.sched can produce unexpected results as the initialisation\\nof (*job)-\u003ebase.sched done in amdgpu_job_alloc is overwritten by the\\nmemset.\\n\\nThis commit fixes an issue when a CS would fail validation and would\\nbe rejected after job-\u003enum_ibs is incremented. In this case,\\namdgpu_ib_free(ring-\u003eadev, ...) will be called, which would crash the\\nmachine because the ring value is bogus.\\n\\nTo fix this, pass a NULL pointer to amdgpu_ib_free(): we can do this\\nbecause the device is actually not used in this function.\\n\\nThe next commit will remove the ring argument completely.\\n\\n(cherry picked from commit 2ae520cb12831d264ceb97c61f72c59d33c0dbd7)\"}]",
      "id": "CVE-2024-46896",
      "lastModified": "2025-01-11T13:15:21.643",
      "published": "2025-01-11T13:15:21.643",
      "references": "[{\"url\": \"https://git.kernel.org/stable/c/65501a4fd84ecdc0af863dbb37759242aab9f2dd\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}, {\"url\": \"https://git.kernel.org/stable/c/67291d601f2b032062b1b2f60ffef1b63e10094c\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}, {\"url\": \"https://git.kernel.org/stable/c/a93b1020eb9386d7da11608477121b10079c076a\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}, {\"url\": \"https://git.kernel.org/stable/c/da6b2c626ae73c303378ce9eaf6e3eaf16c9925a\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]",
      "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "vulnStatus": "Received"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-46896\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-01-11T13:15:21.643\",\"lastModified\":\"2025-11-03T21:16:22.600\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ndrm/amdgpu: don\u0027t access invalid sched\\n\\nSince 2320c9e6a768 (\\\"drm/sched: memset() \u0027job\u0027 in drm_sched_job_init()\\\")\\naccessing job-\u003ebase.sched can produce unexpected results as the initialisation\\nof (*job)-\u003ebase.sched done in amdgpu_job_alloc is overwritten by the\\nmemset.\\n\\nThis commit fixes an issue when a CS would fail validation and would\\nbe rejected after job-\u003enum_ibs is incremented. In this case,\\namdgpu_ib_free(ring-\u003eadev, ...) will be called, which would crash the\\nmachine because the ring value is bogus.\\n\\nTo fix this, pass a NULL pointer to amdgpu_ib_free(): we can do this\\nbecause the device is actually not used in this function.\\n\\nThe next commit will remove the ring argument completely.\\n\\n(cherry picked from commit 2ae520cb12831d264ceb97c61f72c59d33c0dbd7)\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/amdgpu: no acceder a sched no v\u00e1lido Desde 2320c9e6a768 (\\\"drm/sched: memset() \u0027job\u0027 en drm_sched_job_init()\\\") acceder a job-\u0026gt;base.sched puede producir resultados inesperados ya que la inicializaci\u00f3n de (*job)-\u0026gt;base.sched realizada en amdgpu_job_alloc es sobrescrita por memset. Esta confirmaci\u00f3n corrige un problema cuando un CS fallar\u00eda la validaci\u00f3n y ser\u00eda rechazado despu\u00e9s de que se incremente job-\u0026gt;num_ibs. En este caso, se llamar\u00e1 a amdgpu_ib_free(ring-\u0026gt;adev, ...), lo que bloquear\u00eda la m\u00e1quina porque el valor de ring es falso. Para corregir esto, pase un puntero NULL a amdgpu_ib_free(): podemos hacer esto porque el dispositivo en realidad no se usa en esta funci\u00f3n. La pr\u00f3xima confirmaci\u00f3n eliminar\u00e1 el argumento ring por completo. (seleccionado del commit 2ae520cb12831d264ceb97c61f72c59d33c0dbd7)\"}],\"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-476\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.1.120\",\"versionEndExcluding\":\"6.1.122\",\"matchCriteriaId\":\"9D170786-006C-4D21-8636-775E492BDF95\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.6.66\",\"versionEndExcluding\":\"6.6.68\",\"matchCriteriaId\":\"053D7514-A65B-4677-9DB5-A163387F6E0C\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.12.5\",\"versionEndExcluding\":\"6.12.7\",\"matchCriteriaId\":\"75A4DB64-BDF2-4534-8F31-F0E6D0D72B3C\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.13:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"62567B3C-6CEE-46D0-BC2E-B3717FBF7D13\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.13:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"5A073481-106D-4B15-B4C7-FB0213B8E1D4\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.13:rc3:*:*:*:*:*:*\",\"matchCriteriaId\":\"DE491969-75AE-4A6B-9A58-8FC5AF98798F\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/65501a4fd84ecdc0af863dbb37759242aab9f2dd\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/67291d601f2b032062b1b2f60ffef1b63e10094c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/a93b1020eb9386d7da11608477121b10079c076a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/da6b2c626ae73c303378ce9eaf6e3eaf16c9925a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…