{"schemaVersion":3,"id":"CVE-2021-28663","aliases":[],"status":"published","duplicateOf":null,"title":"Arm Mali Graphics Processing Unit (GPU) Use-After-Free Vulnerability","description":"The Arm Mali GPU kernel driver allows privilege escalation or information disclosure because GPU memory operations are mishandled, leading to a use-after-free. This affects Bifrost r0p0 through r28p0 before r29p0, Valhall r19p0 through r28p0 before r29p0, and Midgard r4p0 through r30p0.","dates":{"published":"2021-05-10T00:00:00.000Z","modified":"2025-10-21T23:25:46.291Z","reserved":null,"kevAdded":["2021-11-03T00:00:00.000Z"],"kevDue":["2021-11-17T00:00:00.000Z"]},"cvss":{"headline":{"score":9,"severity":"high","version":"2.0","versionLabel":"v2.0","source":"NVD","vector":"AV:N/AC:L/Au:S/C:C/I:C/A:C","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":8.8,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":8.8,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"2.0","versionLabel":"v2.0","source":"NVD","score":9,"severity":"high","vector":"AV:N/AC:L/Au:S/C:C/I:C/A:C","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.12084,"percentile":0.96116,"severity":"medium","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.12084},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.12084,"percentile":0.96116}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.12084,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.12084,"percentile":0.96116}]},"kev":{"state":"listed","entries":[{"source":"cisa","sourceLabel":"CISA","dateAdded":"2021-11-03T00:00:00.000Z","dueDate":"2021-11-17T00:00:00.000Z","requiredAction":"Apply updates per vendor instructions.","name":"Arm Mali Graphics Processing Unit (GPU) Use-After-Free Vulnerability","description":"Arm Mali Graphics Processing Unit (GPU) kernel driver contains a use-after-free vulnerability that may allow a non-privileged user to make improper operations on GPU memory to gain root privilege, and/or disclose information.","notes":[{"type":"url","href":"https://nvd.nist.gov/vuln/detail/CVE-2021-28663","label":"nvd.nist.gov/vuln/detail/CVE-2021-28663"}],"vendor":"Arm","product":"Mali Graphics Processing Unit (GPU)","ransomware":false,"ransomwareUse":"Unknown","exploitationType":null}],"listedCount":1,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":true,"entry":{"source":"cisa","sourceLabel":"CISA","dateAdded":"2021-11-03T00:00:00.000Z","dueDate":"2021-11-17T00:00:00.000Z","requiredAction":"Apply updates per vendor instructions.","name":"Arm Mali Graphics Processing Unit (GPU) Use-After-Free Vulnerability","description":"Arm Mali Graphics Processing Unit (GPU) kernel driver contains a use-after-free vulnerability that may allow a non-privileged user to make improper operations on GPU memory to gain root privilege, and/or disclose information.","notes":[{"type":"url","href":"https://nvd.nist.gov/vuln/detail/CVE-2021-28663","label":"nvd.nist.gov/vuln/detail/CVE-2021-28663"}],"vendor":"Arm","product":"Mali Graphics Processing Unit (GPU)","ransomware":false,"ransomwareUse":"Unknown","exploitationType":null}},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[{"id":"GITHUB_LNTRX_CVE-2021-28663","name":"Cve 2021 28663","source":"github","url":"https://github.com/lntrx/CVE-2021-28663","maturity":"poc","reliabilityScore":0.3,"verified":false,"type":null,"platforms":[],"requiresAuth":null,"exploitdb":null,"metasploit":null}],"exploitCount":1,"weaknesses":[{"id":"CWE-416","name":"Use After Free","description":"The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory \"belongs\" to the code that operates on the new pointer.","type":"weakness","status":"Stable","abstraction":"Variant","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/416.html"}],"affected":[{"vendor":"arm","product":"bifrost_gpu_kernel_driver","name":"bifrost gpu kernel driver","label":"bifrost_gpu_kernel_driver","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ r0p0, < r29p0","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ r0p0, < r29p0","eol":null,"hubHref":"/vendor/arm/bifrost_gpu_kernel_driver"},{"vendor":"arm","product":"midgard_gpu_kernel_driver","name":"midgard gpu kernel driver","label":"midgard_gpu_kernel_driver","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ r4p0, < r31p0","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ r4p0, < r31p0","eol":null,"hubHref":"/vendor/arm/midgard_gpu_kernel_driver"},{"vendor":"arm","product":"valhall_gpu_kernel_driver","name":"valhall gpu kernel driver","label":"valhall_gpu_kernel_driver","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ r19p0, < r29p0","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ r19p0, < r29p0","eol":null,"hubHref":"/vendor/arm/valhall_gpu_kernel_driver"}],"affectedCount":3,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://developer.arm.com/support/arm-security-updates","label":"developer.arm.com/support/arm-security-updates","hostname":"developer.arm.com","tags":["Vendor Advisory"]},{"url":"https://developer.arm.com/support/arm-security-updates/mali-gpu-kernel-driver","label":"developer.arm.com/support/arm-security-updates/mali-gpu-kernel-driver","hostname":"developer.arm.com","tags":["Vendor Advisory"]},{"url":"https://github.com/lntrx/CVE-2021-28663","label":"github.com/lntrx/CVE-2021-28663","hostname":"github.com","tags":["Exploit"]},{"url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2021-28663","label":"www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2021-28663","hostname":"www.cisa.gov","tags":["Government Resource","US Government Resource"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2021-05-10T00:00:00.000Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"kev-added","date":"2021-11-03T00:00:00.000Z","label":"Added to CISA KEV","detail":"Arm Mali Graphics Processing Unit (GPU) Use-After-Free Vulnerability","source":"cisa"},{"kind":"kev-due","date":"2021-11-17T00:00:00.000Z","label":"CISA remediation due","detail":"Apply updates per vendor instructions.","source":"cisa"},{"kind":"modified","date":"2025-10-21T23:25:46.291Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":85,"level":"critical","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-20T18:21:47.435Z","stale":false,"partial":false}}