CVE-2026-46209
Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
28/05/2026
Última modificación:
30/05/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
drm/gem: Fix inconsistent plane dimension calculation in drm_gem_fb_init_with_funcs()<br />
<br />
drm_gem_fb_init_with_funcs() computes sub-sampled plane dimensions<br />
using plain integer division:<br />
<br />
unsigned int width = mode_cmd->width / (i ? info->hsub : 1);<br />
unsigned int height = mode_cmd->height / (i ? info->vsub : 1);<br />
<br />
However, the ioctl-level framebuffer_check() in drm_framebuffer.c uses<br />
drm_format_info_plane_width/height() which round up dimensions via<br />
DIV_ROUND_UP(). This inconsistency corrupts the subsequent GEM object<br />
size check for certain pixel format and dimension combinations.<br />
<br />
For example, with NV12 (vsub=2) and a 1-pixel-tall framebuffer the<br />
GEM size validation path sees height=0 instead of height=1. The<br />
expression (height - 1) then wraps to UINT_MAX as an unsigned int,<br />
causing min_size to overflow and wrap back to a small value. A tiny<br />
GEM object therefore passes the size guard, yet when the GPU accesses<br />
the chroma plane it will read or write memory beyond the object&#39;s<br />
bounds.<br />
<br />
Fix by replacing the open-coded divisions with drm_format_info_plane_width()<br />
and drm_format_info_plane_height(), which use DIV_ROUND_UP() and match<br />
the calculation already used in framebuffer_check().
Impacto
Puntuación base 3.x
7.80
Gravedad 3.x
ALTA
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/1a17ea9861e89585361caa8bc231bd22dc6dbe7d
- https://git.kernel.org/stable/c/1da4ab7189f1064b3b712b388772c008b4d82580
- https://git.kernel.org/stable/c/3d4c2268bd7243c3780fe32bf24ff876da272acf
- https://git.kernel.org/stable/c/6b992591e04f2cce813bcf239b354f375bbf84d3
- https://git.kernel.org/stable/c/c5fc49d8470c5ebf3b41607600f277158f159950



