HIGH Introduced in 6.2
sysfb FbSize Overflow
CVE-2026-89806
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
KernelScan AI6.5MEDIUM
01Description
In the Linux kernel, the following vulnerability has been resolved: drm/sysfb: ofdrm: Fix integer overflow in fb_size calculation The framebuffer size calculation `fb_size = linebytes * height` can overflow when both values are large (e.g., 46341 * 46341 > INT_MAX). Since linebytes and height are both int types, the multiplication is performed as int * int, which results in undefined behavior on overflow. Use check_mul_overflow() to detect and prevent this overflow, consistent with the approach used in simpledrm.c and corebootdrm.c.
02KernelScan AI Analysis
Risk summary
A signed integer overflow in the ofdrm framebuffer driver's size calculation can lead to memory corruption when the device tree supplies large framebuffer dimensions. The bug is triggered during driver initialization from firmware-supplied device tree data, requiring root access to modify boot configuration or physical access to alter firmware. Systems with verified boot chains are protected against this attack vector.
Vulnerability analysis
The Open Firmware framebuffer driver reads display dimensions (line width and height) from the device tree during boot and multiplies them to compute the total framebuffer size. Because both values are stored as signed integers, their multiplication can silently overflow when the dimensions are large, producing an incorrect size that the driver then uses to set up the framebuffer — potentially causing out-of-bounds memory access or a kernel crash. The fix replaces the unchecked multiplication with a helper that detects overflow and aborts initialization with an error if it occurs. This vulnerability is only reachable through the device tree, which is supplied by firmware at boot time; an attacker would need either root-level access to modify the boot configuration or device tree overlays, or physical access to alter the firmware directly.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 6.12 | 6.2 | 6.12.112 | 711fe7949d37 |
| 6.18 | 6.2 | 6.18.51 | ded6ad826fe0 |
| 6.6 | 6.2 | 6.6.160 | 0cec951667a6 |
| 7.2 | 6.2 | 7.2.5 | d9daf9a6e7a6 |
| mainline | 6.2 | 7.3 | c6f48e59ece0 |
| cip/6.12 | 6.2 | 6.12.112-cip33 | 711fe7949d37 |
04CIP Kernels
State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.
| CIP tree | State |
|---|---|
| cip/6.12 | Fixed in 6.12.112-cip33 |