{"id":"CVE-2026-64097","summary":"drm/amd/display: Validate GPIO pin LUT table size before iterating","details":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/amd/display: Validate GPIO pin LUT table size before iterating\n\n[Why&How]\nThe GPIO pin table parsers in get_gpio_i2c_info() and\nbios_parser_get_gpio_pin_info() derive an element count from the VBIOS\ntable_header.structuresize field, then iterate over gpio_pin[] entries.\nHowever, GET_IMAGE() only validates that the table header itself fits\nwithin the BIOS image. If the VBIOS reports a structuresize larger than\nthe actual mapped data, the loop reads past the end of the BIOS image,\ncausing an out-of-bounds read.\n\nFix this by calling bios_get_image() to validate that the full claimed\nstructuresize is accessible within the BIOS image before entering the\nloop in both functions.\n\n(cherry picked from commit ba5e95b43b773ae1bf1f66ee6b31eb774e65afe3)","modified":"2026-07-22T05:29:39.519642345Z","published":"2026-07-19T15:40:03.599Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64097.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/67461e0c15335894cc5d3b84cda823bf8cbdc886"},{"type":"WEB","url":"https://git.kernel.org/stable/c/7ca695b3122297b06a3ed605bbe1cd32c85d9f5a"},{"type":"WEB","url":"https://git.kernel.org/stable/c/86d2b20644b11d21fe52c596e6e922b4590a3e3f"},{"type":"WEB","url":"https://git.kernel.org/stable/c/9900f6954be779011e7c2cd42addd87baf028bc5"},{"type":"WEB","url":"https://git.kernel.org/stable/c/f2a4827e980ba07de4391fa84d9c39a12726bdd7"},{"type":"WEB","url":"https://git.kernel.org/stable/c/fb30a3890d62fd50a95aef684faf64a307592e42"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64097.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-64097"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"ae79c310b1a6f97429a5784b65f125d9cc9c95b1"},{"fixed":"9900f6954be779011e7c2cd42addd87baf028bc5"},{"fixed":"fb30a3890d62fd50a95aef684faf64a307592e42"},{"fixed":"67461e0c15335894cc5d3b84cda823bf8cbdc886"},{"fixed":"7ca695b3122297b06a3ed605bbe1cd32c85d9f5a"},{"fixed":"f2a4827e980ba07de4391fa84d9c39a12726bdd7"},{"fixed":"86d2b20644b11d21fe52c596e6e922b4590a3e3f"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64097.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.15.0"},{"fixed":"6.1.175"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.2.0"},{"fixed":"6.6.142"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.92"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.34"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.0.11"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64097.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"}]}