CVE-2026-53138 json
drm/amd/display: Bound VBIOS record-chain walk loops
published 2026-06-25 4 mo ago modified 2026-11-06 2 d ago also EUVD-2026-39343
- cvss
- 7.1
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.1%
- EPSS 0.1% chance of exploitation in 30 days, percentile 2%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
drm/amd/display: Bound VBIOS record-chain walk loops
[Why & How] All record-chain walk loops in bios_parser.c and bios_parser2.c use for(;;) and only terminate on a 0xFF record_type sentinel or zero record_size. A malformed VBIOS image missing the terminator record causes unbounded iteration at probe time, potentially hundreds of thousands of iterations with record_size=1. In the final iterations near the BIOS image boundary, struct casts beyond the 2-byte header validated by GET_IMAGE can also read out of bounds.
Cap all 14 record-chain walk loops to BIOS_MAX_NUM_RECORD (256) iterations. The atombios.h defines up to 22 distinct record types and atomfirmware.h has 13. Assuming an average of less than 10 records per type (which is reasonable since most are connector- based) 256 is a generous upper bound.
(cherry picked from commit 95700a3d660287ed657d6892f7be9ffc0e294a93)
Patch / fix
- Linux Linux 5.10.260, 5.15.211, 6.1.177, 6.6.144, 6.12.94, 6.18.36, 7.0.13, 7.1
- linux Debian 12 6.1.177-1
- linux Debian 13 6.12.94-1
- linux Debian 14 7.0.13-1
debian advisories DEBIAN-CVE-2026-53138
- linux Ubuntu 22.04 LTS 5.15.0-198.208
- linux Ubuntu 24.04 LTS 6.8.0-146.146
- linux Ubuntu 26.04 LTS 7.0.0-31.31
- linux-aws Ubuntu 22.04 LTS 5.15.0-1117.124
- linux-aws Ubuntu 24.04 LTS 6.8.0-1066.69
- linux-aws Ubuntu 26.04 LTS 7.0.0-1012.12
- linux-gcp Ubuntu 22.04 LTS 5.15.0-1118.128
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1070.78
ubuntu advisories UBUNTU-CVE-2026-53138
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-default SLES 16.0, SLE High Availability Extension 16.0, Linux Micro 6.2 +1 more 6.12.0-160000.37.1
- kernel-rt Linux Micro 6.2 6.12.0-160000.37.1
- kernel-64kb SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.37.1
- kernel-source SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.37.1
- kernel-default-base SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.37.1.160000.2.19
- kernel-syms SLES 16.0, Linux Micro Extras 6.2, SLES for SAP applications 16.0 6.12.0-160000.37.1
- kernel-azure SLES 16.0, SLES for SAP applications 16.0 6.12.0-160000.37.1
- kernel-obs-qa SLES 16.0, SLES for SAP applications 16.0 6.12.0-160000.37.1
suse advisories SUSE-SU-2026:23237-1SUSE-SU-2026:23068-1SUSE-SU-2026:23221-1SUSE-SU-2026:23231-1SUSE-SU-2026:23066-1SUSE-SU-2026:2800-1
- kernel-rt openSUSE Leap 16.0 6.12.0-160000.37.1
- dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-64kb openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-syms openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-azure openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-source openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-default openSUSE Leap 16.0 6.12.0-160000.37.1
opensuse advisories openSUSE-SU-2026:21555-1
- git.kernel.org/stable/c/e94f5323c41f32a74160378c3b19850d1f203ad5 commit
- git.kernel.org/stable/c/04e271a952b8863bbafc99bd51aca4c32bff0e0d commit
- git.kernel.org/stable/c/6723188c42ca3b34a9fce634d7a0ecc9ccd5cd56 commit
- git.kernel.org/stable/c/499c6b43a79dd684bddbd18fe8b2235aa2764db4 commit
- git.kernel.org/stable/c/6173cfea2f916e01c4f98e29cd654384a05e32a3 commit
- git.kernel.org/stable/c/0e56f460bddb397fa9a8e6faf7ae7eaa86953eb1 commit
- git.kernel.org/stable/c/2645e3caf7e013189da9c6ff621d006cca5a538b commit
- git.kernel.org/stable/c/ff287df16a1a58aca78b08d1f3ee09fc44da0351 commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-53138 updated cvss 5.5
kernel: drm/amd/display: Bound VBIOS record-chain walk loops
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 moreaffected: no fix planned “Out of support scope”
-
Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more Red Hat Enterprise Linux 10 kernelaffected: no fix available “Fix deferred”
-
Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 d ago
Exploit prediction
0.13% chance of exploitation in the next 30 days, higher than 2% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 7.1 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H |
Affected products
- Linux Linux
Classification
- Weakness
-
- CWE-125 Out-of-bounds Read
- Technology feeds
References
-
git.kernel.org
/stable/c/e94f5323c41f32a74160378c3b19850d1f203ad5
patch
-
git.kernel.org
/stable/c/04e271a952b8863bbafc99bd51aca4c32bff0e0d
patch
-
git.kernel.org
/stable/c/6723188c42ca3b34a9fce634d7a0ecc9ccd5cd56
patch
-
git.kernel.org
/stable/c/499c6b43a79dd684bddbd18fe8b2235aa2764db4
patch
-
git.kernel.org
/stable/c/6173cfea2f916e01c4f98e29cd654384a05e32a3
patch
-
git.kernel.org
/stable/c/0e56f460bddb397fa9a8e6faf7ae7eaa86953eb1
patch
-
git.kernel.org
/stable/c/2645e3caf7e013189da9c6ff621d006cca5a538b
patch
-
git.kernel.org
/stable/c/ff287df16a1a58aca78b08d1f3ee09fc44da0351
patch
Sources
- CVE List CVE-2026-53138
- NVD CVE-2026-53138
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.