{"id":"CVE-2023-53253","state":"PUBLISHED","title":"HID: nvidia-shield: Reference hid_device devm allocation of input_dev name","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nHID: nvidia-shield: Reference hid_device devm allocation of input_dev name\n\nUse hid_device for devm allocation of the input_dev name to avoid a\nuse-after-free. input_unregister_device would trigger devres cleanup of all\nresources associated with the input_dev, free-ing the name. The name would\nsubsequently be used in a uevent fired at the end of unregistering the\ninput_dev.","publishedAt":"2025-09-15T14:46:23.661Z","updatedAt":"2026-08-05T09:13:17.220Z","severity":{"score":8.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"09308562d4afb1abc66366608fa1cb9de783272f","status":"affected","lessThan":"b85d3807e5ec368bfd5b20245347d7c1434aff76","versionType":"git"},{"version":"09308562d4afb1abc66366608fa1cb9de783272f","status":"affected","lessThan":"197d3143520fec9fde89aebabc9f0d7464f08e50","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/hid/hid-nvidia-shield.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.5","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.5","versionType":"semver"},{"version":"6.5.3","status":"unaffected","lessThanOrEqual":"6.5.*","versionType":"semver"},{"version":"6.6","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/hid/hid-nvidia-shield.c"]}],"references":["https://git.kernel.org/stable/c/b85d3807e5ec368bfd5b20245347d7c1434aff76","https://git.kernel.org/stable/c/197d3143520fec9fde89aebabc9f0d7464f08e50"],"weaknesses":["CWE-416"],"ingestedAt":"2026-10-29T20:06:33.064Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2023/53xxx/CVE-2023-53253.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2023-53253","state":"PUBLISHED","datePublished":"2025-09-15T14:46:23.661Z","dateUpdated":"2026-08-05T09:13:17.220Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-09-15T14:19:21.849Z"},"containers":{"cna":{"title":"HID: nvidia-shield: Reference hid_device devm allocation of input_dev name","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nHID: nvidia-shield: Reference hid_device devm allocation of input_dev name\n\nUse hid_device for devm allocation of the input_dev name to avoid a\nuse-after-free. input_unregister_device would trigger devres cleanup of all\nresources associated with the input_dev, free-ing the name. The name would\nsubsequently be used in a uevent fired at the end of unregistering the\ninput_dev."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"09308562d4afb1abc66366608fa1cb9de783272f","status":"affected","lessThan":"b85d3807e5ec368bfd5b20245347d7c1434aff76","versionType":"git"},{"version":"09308562d4afb1abc66366608fa1cb9de783272f","status":"affected","lessThan":"197d3143520fec9fde89aebabc9f0d7464f08e50","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/hid/hid-nvidia-shield.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.5","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.5","versionType":"semver"},{"version":"6.5.3","status":"unaffected","lessThanOrEqual":"6.5.*","versionType":"semver"},{"version":"6.6","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/hid/hid-nvidia-shield.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/b85d3807e5ec368bfd5b20245347d7c1434aff76"},{"url":"https://git.kernel.org/stable/c/197d3143520fec9fde89aebabc9f0d7464f08e50"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:A - hid-nvidia-shield's id_table explicitly includes HID_BLUETOOTH_DEVICE for the Thunderstrike controller (and Kconfig depends on BT_HIDP), so an in-range attacker can connect a crafted Bluetooth HID device and disconnect it to trigger the UAF; Adjacent is higher severity than the USB-only Physical path.\nAC:L - Probe unconditionally allocates the input_dev name via devm against &idev->dev when haptics are enabled, and disconnect reliably hits the free-then-uevent teardown ordering with no race or attacker-uncontrollable condition required.\nPR:N - Bluetooth HID enumeration and driver bind/unbind run from kernel hotplug with no account, capability, or authentication on the target; the attacker needs no local privileges on the victim system.\nUI:N - The attacker performs connect and disconnect themselves (or via Just Works / auto-reconnect HID pairing), and the kernel probe/teardown path fires the uevent without requiring the victim to open a file or otherwise interact.\nS:U - The use-after-free corrupts kernel heap state within the same OS security authority; it does not cross a VM, IOMMU, or sandbox boundary.\nC:H - The freed input_dev name string is read via %s into the KOBJ_REMOVE uevent, so a groomed reallocation of the kmalloc object yields disclosure of attacker-chosen heap contents; kernel UAF is scored High confidentiality.\nI:H - The UAF is a sprayable kmalloc object whose dangling pointer is consumed during teardown; heap grooming enables overlapping objects and control-flow/write primitives, so integrity impact is High per UAF guidance.\nA:H - Use of the freed name during uevent generation reliably produces a kernel oops/panic (or KASAN slab-use-after-free), and the attacker can repeat connect/disconnect at will."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T09:13:17.220Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.5","versionEndExcluding":"6.5.3"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.5","versionEndExcluding":"6.6"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":7.8,"attackVector":"LOCAL","baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","integrityImpact":"HIGH","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"HIGH","privilegesRequired":"LOW","confidentialityImpact":"HIGH"}},{"other":{"type":"ssvc","content":{"id":"CVE-2023-53253","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-01-14T18:00:58.589859Z"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-416","lang":"en","type":"CWE","description":"CWE-416 Use After Free"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-01-14T18:02:52.381Z"}}]}}}