---
id: CVE-2026-64097
title: 'drm/amd/display: Validate GPIO pin LUT table size before iterating'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  drm/amd/display: Validate GPIO pin LUT table size before iterating

  [Why&How]
  The GPIO pin table parsers in get_gpio_i2c_info() and
  bios_parser_get_gpio_pin_info() deri…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= ae79c310b1a6f97429a5784b65f125d9cc9c95b1 <
    9900f6954be779011e7c2cd42addd87baf028bc5
  - >-
    Linux >= ae79c310b1a6f97429a5784b65f125d9cc9c95b1 <
    fb30a3890d62fd50a95aef684faf64a307592e42
  - >-
    Linux >= ae79c310b1a6f97429a5784b65f125d9cc9c95b1 <
    67461e0c15335894cc5d3b84cda823bf8cbdc886
  - >-
    Linux >= ae79c310b1a6f97429a5784b65f125d9cc9c95b1 <
    7ca695b3122297b06a3ed605bbe1cd32c85d9f5a
  - >-
    Linux >= ae79c310b1a6f97429a5784b65f125d9cc9c95b1 <
    f2a4827e980ba07de4391fa84d9c39a12726bdd7
  - >-
    Linux >= ae79c310b1a6f97429a5784b65f125d9cc9c95b1 <
    86d2b20644b11d21fe52c596e6e922b4590a3e3f
  - Linux 4.15
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-10-16T15:36:13.887901Z'
published: '2026-07-19'
updated: '2026-10-16'
sourceUpdated: '2026-10-16T15:42:21.830Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-64097'
references:
  - url: 'https://git.kernel.org/stable/c/9900f6954be779011e7c2cd42addd87baf028bc5'
  - url: 'https://git.kernel.org/stable/c/fb30a3890d62fd50a95aef684faf64a307592e42'
  - url: 'https://git.kernel.org/stable/c/67461e0c15335894cc5d3b84cda823bf8cbdc886'
  - url: 'https://git.kernel.org/stable/c/7ca695b3122297b06a3ed605bbe1cd32c85d9f5a'
  - url: 'https://git.kernel.org/stable/c/f2a4827e980ba07de4391fa84d9c39a12726bdd7'
  - url: 'https://git.kernel.org/stable/c/86d2b20644b11d21fe52c596e6e922b4590a3e3f'
tags:
  - cve.org
epss: 0.00129
epssPercentile: 0.0228
ingestedAt: '2026-10-16T17:24:46.802Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

drm/amd/display: Validate GPIO pin LUT table size before iterating

[Why&How]
The GPIO pin table parsers in get_gpio_i2c_info() and
bios_parser_get_gpio_pin_info() derive an element count from the VBIOS
table_header.structuresize field, then iterate over gpio_pin[] entries.
However, GET_IMAGE() only validates that the table header itself fits
within the BIOS image. If the VBIOS reports a structuresize larger than
the actual mapped data, the loop reads past the end of the BIOS image,
causing an out-of-bounds read.

Fix this by calling bios_get_image() to validate that the full claimed
structuresize is accessible within the BIOS image before entering the
loop in both functions.

(cherry picked from commit ba5e95b43b773ae1bf1f66ee6b31eb774e65afe3)

## Affected

- `Linux >= ae79c310b1a6f97429a5784b65f125d9cc9c95b1 < 9900f6954be779011e7c2cd42addd87baf028bc5`
- `Linux >= ae79c310b1a6f97429a5784b65f125d9cc9c95b1 < fb30a3890d62fd50a95aef684faf64a307592e42`
- `Linux >= ae79c310b1a6f97429a5784b65f125d9cc9c95b1 < 67461e0c15335894cc5d3b84cda823bf8cbdc886`
- `Linux >= ae79c310b1a6f97429a5784b65f125d9cc9c95b1 < 7ca695b3122297b06a3ed605bbe1cd32c85d9f5a`
- `Linux >= ae79c310b1a6f97429a5784b65f125d9cc9c95b1 < f2a4827e980ba07de4391fa84d9c39a12726bdd7`
- `Linux >= ae79c310b1a6f97429a5784b65f125d9cc9c95b1 < 86d2b20644b11d21fe52c596e6e922b4590a3e3f`
- `Linux 4.15`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
