CVE-2026-53138
Severity CVSS v4.0:
Pending analysis
Type:
CWE-125
Out-of-bounds Read
Publication date:
25/06/2026
Last modified:
07/07/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
drm/amd/display: Bound VBIOS record-chain walk loops<br />
<br />
[Why & How]<br />
All record-chain walk loops in bios_parser.c and bios_parser2.c use<br />
for(;;) and only terminate on a 0xFF record_type sentinel or zero<br />
record_size. A malformed VBIOS image missing the terminator record<br />
causes unbounded iteration at probe time, potentially hundreds of<br />
thousands of iterations with record_size=1. In the final iterations<br />
near the BIOS image boundary, struct casts beyond the 2-byte header<br />
validated by GET_IMAGE can also read out of bounds.<br />
<br />
Cap all 14 record-chain walk loops to BIOS_MAX_NUM_RECORD (256)<br />
iterations. The atombios.h defines up to 22 distinct record types<br />
and atomfirmware.h has 13. Assuming an average of less than 10<br />
records per type (which is reasonable since most are connector-<br />
based) 256 is a generous upper bound.<br />
<br />
(cherry picked from commit 95700a3d660287ed657d6892f7be9ffc0e294a93)
Impact
Base Score 3.x
7.10
Severity 3.x
HIGH
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.15 (including) | 5.10.260 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.211 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.177 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.144 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.12.94 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.18.36 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 (including) | 7.0.13 (excluding) |
| cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.1:rc5:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.1:rc6:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/04e271a952b8863bbafc99bd51aca4c32bff0e0d
- https://git.kernel.org/stable/c/0e56f460bddb397fa9a8e6faf7ae7eaa86953eb1
- https://git.kernel.org/stable/c/2645e3caf7e013189da9c6ff621d006cca5a538b
- https://git.kernel.org/stable/c/499c6b43a79dd684bddbd18fe8b2235aa2764db4
- https://git.kernel.org/stable/c/6173cfea2f916e01c4f98e29cd654384a05e32a3
- https://git.kernel.org/stable/c/6723188c42ca3b34a9fce634d7a0ecc9ccd5cd56
- https://git.kernel.org/stable/c/e94f5323c41f32a74160378c3b19850d1f203ad5
- https://git.kernel.org/stable/c/ff287df16a1a58aca78b08d1f3ee09fc44da0351



